(1) USACO2.1 Ordered Fractions

  枚举 排序即可,注意1/1

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<algorithm>
  4. #include<cstring>
  5. using namespace std;
  6. const int N=,L=1e5;
  7. struct fr{
  8. int a,b;
  9. fr(int q=,int w=):a(q),b(w){}
  10. }f[L];
  11. int n,cnt=;
  12. inline bool cmp(fr &x,fr &y){
  13. return (double)x.a/x.b<(double)y.a/y.b;
  14. }
  15. inline int gcd(int a,int b){
  16. return b==?a:gcd(b,a%b);
  17. }
  18. int main(){
  19. cin>>n;
  20. for(int i=;i<=n;i++)
  21. for(int j=i+;j<=n;j++)
  22. if(gcd(i,j)==)
  23. f[++cnt]=fr(i,j);
  24. sort(f+,f++cnt,cmp);
  25. for(int i=;i<=cnt;i++)
  26. printf("%d/%d\n",f[i].a,f[i].b);
  27. cout<<"1/1";
  28. }

(2) USACO1.5Number Triangles

  基础DP

  1. #include<iostream>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<cstdio>
  5. using namespace std;
  6. int r,d[][],a[][];
  7. int dp(int i,int j){
  8. if(d[i][j]>=) return d[i][j];
  9. return d[i][j]=a[i][j]+(i==r?:max(dp(i+,j),dp(i+,j+)));
  10. }
  11. int main(){
  12. scanf("%d",&r);//cin>>r;
  13. memset(d,-,sizeof(d));
  14. for(int i=;i<=r;i++)
  15. for(int j=;j<=i;j++) scanf("%d",&a[i][j]);//cin>>a[i][j];
  16. int ans=-;
  17. cout<<dp (,);
  18. }

(3) USACO1.2 Transformations

  模拟

  1. #include <iostream>
  2. using namespace std;
  3. const int N=;
  4. int n;
  5. char a[N][N],r[N][N],t[N][N];
  6. bool ro90(char a[N][N]){
  7. for(int i=;i<=n;i++)
  8. for(int j=;j<=n;j++)
  9. if(a[i][j]!=r[j][n-i+]) return false;
  10. return true;
  11. }
  12. bool ro180(char a[N][N]){
  13. for(int i=;i<=n;i++)
  14. for(int j=;j<=n;j++)
  15. if(a[i][j]!=r[n-i+][n-j+]) return false;
  16. return true;
  17. }
  18. bool ro270(char a[N][N]){
  19. for(int i=;i<=n;i++)
  20. for(int j=;j<=n;j++)
  21. if(a[i][j]!=r[n-j+][i]) return false;
  22. return true;
  23. }
  24. void img(char a[N][N],char t[N][N]){
  25. for(int i=;i<=n;i++)
  26. for(int j=;j<=n;j++)
  27. t[i][n-j+]=a[i][j];
  28. }
  29. bool check(char r[N][N],char t[N][N]){
  30. for(int i=;i<=n;i++)
  31. for(int j=;j<=n;j++)
  32. if(r[i][j]!=t[i][j]) return false;
  33. return true;
  34. }
  35.  
  36. int solve(){
  37. if(ro90(a)) return ;
  38. if(ro180(a)) return ;
  39. if(ro270(a)) return ;
  40. img(a,t);
  41. if(check(r,t)) return ;
  42. if(ro90(t)) return ;
  43. if(ro180(t)) return ;
  44. if(ro270(t)) return ;
  45. if(check(r,t)) return ;
  46. return ;
  47. }
  48. int main(int argc, const char * argv[]) {
  49. cin>>n;
  50. for(int i=;i<=n;i++)
  51. for(int j=;j<=n;j++)cin>>a[i][j];
  52.  
  53. for(int i=;i<=n;i++)
  54. for(int j=;j<=n;j++)cin>>r[i][j];
  55.  
  56. cout<<solve();
  57.  
  58. }

(4) USACO1.4Mother's Milk

  dfs,六种倒水方法,fill简化

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. using namespace std;
  6. const int N=;
  7. int vis[N][N][N];
  8. int l[],ta,tb,tc;
  9. int ans[N];
  10. inline void fill(int &a,int &b,int num){
  11. int tmp=min(l[num]-a,b);
  12. a+=tmp;
  13. b-=tmp;
  14. }
  15.  
  16. void dfs(int a,int b,int c){//printf("%d %d %d\n",a,b,c);
  17. if(vis[a][b][c]) return;
  18. if(a==) ans[c]=true;
  19. vis[a][b][c]=;
  20.  
  21. ta=a;tb=b;tc=c;//
  22. fill(ta,tb,);dfs(ta,tb,tc);
  23.  
  24. ta=a;tb=b;tc=c;//
  25. fill(ta,tc,);dfs(ta,tb,tc);
  26.  
  27. ta=a;tb=b;tc=c;//
  28. fill(tb,ta,);dfs(ta,tb,tc);
  29.  
  30. ta=a;tb=b;tc=c;//
  31. fill(tb,tc,);dfs(ta,tb,tc);
  32.  
  33. ta=a;tb=b;tc=c;//
  34. fill(tc,ta,);dfs(ta,tb,tc);
  35.  
  36. ta=a;tb=b;tc=c;//
  37. fill(tc,tb,);dfs(ta,tb,tc);
  38. }
  39. int main(){
  40. cin>>l[]>>l[]>>l[];
  41. dfs(,,l[]);
  42. for(int i=;i<=l[];i++) if(ans[i]) cout<<i<<" ";
  43.  
  44. }

(5)USACO迷宫

  裸DFS

  1. #include<iostream>
  2. using namespace std;
  3. int n,m,t,sx,sy,fx,fy,ans=;int x,y;
  4. int e[][],vis[][],dx[]={-,,,},dy[]={,,,-};
  5. void dfs(int x,int y){
  6. if(x<||y<||x>n||y>m) return;
  7. if(e[x][y]) return;
  8. if(x==fx&&y==fy) {ans++;return;}
  9. if(vis[x][y]) return;
  10. vis[x][y]=;
  11. for(int i=;i<;i++) dfs(x+dx[i],y+dy[i]);
  12. vis[x][y]=;
  13. }
  14. int main(){
  15. cin>>n>>m>>t>>sx>>sy>>fx>>fy;
  16. for(int i=;i<t;i++) {cin>>x>>y;e[x][y]=;}
  17. dfs(sx,sy);
  18. cout<<ans;
  19. }

USACO(含training section)水题合集[5/未完待续]的更多相关文章

  1. NOIP水题合集[3/未完待续]

    NOIP2008pj传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球, ...

  2. DP+贪心水题合集_C++

    本文含有原创题,涉及版权利益问题,严禁转载,违者追究法律责任 本次是最后一篇免费的考试题解,以后的考试题目以及题解将会以付费的方式阅读,题目质量可以拿本次作为参考 本来半个月前就已经搞得差不多了,然后 ...

  3. FCRA题库及答案(未完待续)

    一.FCRA-入门基础(23) 1.FineReport中普通模板总共有5种不同的预览模式:分页预览.填报预览.新填报预览.数据分析.移动端预览 决策报表下为表单预览.移动端预览 2.FineRepo ...

  4. 记录一下第一次在CodeForces供题的事(未完待续)

    3月11日 因为想出题而开始打比赛上分 (Rating 1727) (期间最低掉到 1669) 6月4日凌晨 上分,有了权限 (Rating 2141) 6月4-6日 出了七道题 6月8-12日 又出 ...

  5. 秋招如何抱佛脚?2022最新大厂Java面试真题合集(附答案

    2022秋招眼看着就要来了,但是离谱的是,很多同学最近才想起来还有秋招这回事,所以纷纷临时抱佛脚,问我有没有什么快速磨枪的方法, 我的回答是:有! 说起来,临阵磨枪没有比背八股文更靠谱的了,很多人对这 ...

  6. Codeforces Round #197 (Div. 2) (A、B、C、D、E五题合集)

    A. Helpful Maths 题目大意 给一个连加计算式,只包含数字 1.2.3,要求重新排序,使得连加的数字从小到大 做法分析 把所有的数字记录下来,从小到大排序输出即可 参考代码 #inclu ...

  7. Codeforces Round #195 A B C 三题合集 (Div. 2)

    A 题 Vasily the Bear and Triangle 题目大意 一个等腰直角三角形 ABC,角 ACB 是直角,AC=BC,点 C 在原点,让确定 A 和 B 的坐标,使得三角形包含一个矩 ...

  8. 【牛客 错题集】Linux系统方面错题合集

    前言:牛客Linux322道全部刷完,有些题目较老,甚至考核5系统,现在7都出来了几年了 = = 还有些题目解析的很好部分也摘录了进来.很多涉及嵌入式开发的选择题同样的摘录的作为了解使用 ------ ...

  9. noip普及组考纲+样题合集——初级篇(OIer必看)

    很明显我是想发提高组合集的.普及组考纲……用发么. 当然如果你想看的话也可以,就一点点: 递归.排序…… 很明显上面那都不是重点.普及组只要掌握搜索.二分.单调队列.数学.随机化等等,一等奖没问题的, ...

随机推荐

  1. 【position也可以很复杂】当弹出层遇上了鼠标定位(下)

    前言 接着昨天的内容写,为了保证内容连续性,这里还是把昨天的内容拷了过来. 请用现代浏览器测试 引出问题 有图有真相,我们来看一个智联招聘里面经常出现的图层: 他这个是没有什么问题的,我们来简单看看其 ...

  2. 怎么把多个GridView和Repeater导入到word或者excel中

    最近开发网上商城有发现我们会涉及到订单打印的问题,本来想到直接显示打印即可但是考虑还得下载到本地,最后只有直接选择控件按流方式输出. 导入到word中代码如下: protected void Butt ...

  3. JavaScript基础19——innerHTML示例

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. [转]搭建Maven私服

    在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的.另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新.可以通过搭建公司内部的Maven服务器,将第三方和内部的 ...

  5. VirtualBox & Kaili Linux 环境搭建

    勾选启用PAE/NX 勾选固态驱动器 网卡设置 [添加源] 2016.1月版添加源 cat << EOF > /etc/apt/sources.list deb http://htt ...

  6. Projects\Portal_Content\Indexer\CiFiles文件夹下文件占用磁盘空间过大问题。

    C:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications\9765757d-15ee-432c-94 ...

  7. Android之Splash页面

    在继上个任务没有解决之后,心灰意冷之后,现在的我在跟着视频学习开发一个手机卫士的软件.在写自己的笔记之前,我先来展示一下我的结果. 下面我来总结一下我跟随视频学习到的知识点: 一.代码的组织结构: 1 ...

  8. iOS 多线程 浅述

    什么是进程? 进程是指在系统中正在运行的一个应用程序. 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内. 什么是线程? 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程 ...

  9. iOS中的UI

    • 不管你是学习android开发还是iOS开发• 都建议先学习UI,原因如下:UI是app的根基:⼀一个app应该是先有UI界⾯面,然后在UI的基础上增加实⽤用功能 UI相对简单易学:UI普遍是学 ...

  10. jQuery和ExtJS的timeOut超时问题和event事件处理问题

    对jQuery来说,超时可以直接设置timeout参数,并在error事件中捕获第二个参数,如果是“timeout”则表明捕获了超时事件,非常清楚. 例子: $.ajax({         type ...