(1) USACO2.1 Ordered Fractions

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

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=,L=1e5;
struct fr{
int a,b;
fr(int q=,int w=):a(q),b(w){}
}f[L];
int n,cnt=;
inline bool cmp(fr &x,fr &y){
return (double)x.a/x.b<(double)y.a/y.b;
}
inline int gcd(int a,int b){
return b==?a:gcd(b,a%b);
}
int main(){
cin>>n;
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
if(gcd(i,j)==)
f[++cnt]=fr(i,j);
sort(f+,f++cnt,cmp);
for(int i=;i<=cnt;i++)
printf("%d/%d\n",f[i].a,f[i].b);
cout<<"1/1";
}

(2) USACO1.5Number Triangles

  基础DP

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
int r,d[][],a[][];
int dp(int i,int j){
if(d[i][j]>=) return d[i][j];
return d[i][j]=a[i][j]+(i==r?:max(dp(i+,j),dp(i+,j+)));
}
int main(){
scanf("%d",&r);//cin>>r;
memset(d,-,sizeof(d));
for(int i=;i<=r;i++)
for(int j=;j<=i;j++) scanf("%d",&a[i][j]);//cin>>a[i][j];
int ans=-;
cout<<dp (,);
}

(3) USACO1.2 Transformations

  模拟

#include <iostream>
using namespace std;
const int N=;
int n;
char a[N][N],r[N][N],t[N][N];
bool ro90(char a[N][N]){
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(a[i][j]!=r[j][n-i+]) return false;
return true;
}
bool ro180(char a[N][N]){
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(a[i][j]!=r[n-i+][n-j+]) return false;
return true;
}
bool ro270(char a[N][N]){
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(a[i][j]!=r[n-j+][i]) return false;
return true;
}
void img(char a[N][N],char t[N][N]){
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
t[i][n-j+]=a[i][j];
}
bool check(char r[N][N],char t[N][N]){
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(r[i][j]!=t[i][j]) return false;
return true;
} int solve(){
if(ro90(a)) return ;
if(ro180(a)) return ;
if(ro270(a)) return ;
img(a,t);
if(check(r,t)) return ;
if(ro90(t)) return ;
if(ro180(t)) return ;
if(ro270(t)) return ;
if(check(r,t)) return ;
return ;
}
int main(int argc, const char * argv[]) {
cin>>n;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)cin>>a[i][j]; for(int i=;i<=n;i++)
for(int j=;j<=n;j++)cin>>r[i][j]; cout<<solve(); }

(4) USACO1.4Mother's Milk

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

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=;
int vis[N][N][N];
int l[],ta,tb,tc;
int ans[N];
inline void fill(int &a,int &b,int num){
int tmp=min(l[num]-a,b);
a+=tmp;
b-=tmp;
} void dfs(int a,int b,int c){//printf("%d %d %d\n",a,b,c);
if(vis[a][b][c]) return;
if(a==) ans[c]=true;
vis[a][b][c]=; ta=a;tb=b;tc=c;//
fill(ta,tb,);dfs(ta,tb,tc); ta=a;tb=b;tc=c;//
fill(ta,tc,);dfs(ta,tb,tc); ta=a;tb=b;tc=c;//
fill(tb,ta,);dfs(ta,tb,tc); ta=a;tb=b;tc=c;//
fill(tb,tc,);dfs(ta,tb,tc); ta=a;tb=b;tc=c;//
fill(tc,ta,);dfs(ta,tb,tc); ta=a;tb=b;tc=c;//
fill(tc,tb,);dfs(ta,tb,tc);
}
int main(){
cin>>l[]>>l[]>>l[];
dfs(,,l[]);
for(int i=;i<=l[];i++) if(ans[i]) cout<<i<<" "; }

(5)USACO迷宫

  裸DFS

#include<iostream>
using namespace std;
int n,m,t,sx,sy,fx,fy,ans=;int x,y;
int e[][],vis[][],dx[]={-,,,},dy[]={,,,-};
void dfs(int x,int y){
if(x<||y<||x>n||y>m) return;
if(e[x][y]) return;
if(x==fx&&y==fy) {ans++;return;}
if(vis[x][y]) return;
vis[x][y]=;
for(int i=;i<;i++) dfs(x+dx[i],y+dy[i]);
vis[x][y]=;
}
int main(){
cin>>n>>m>>t>>sx>>sy>>fx>>fy;
for(int i=;i<t;i++) {cin>>x>>y;e[x][y]=;}
dfs(sx,sy);
cout<<ans;
}

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. [deviceone开发]-doSpace应用源码开源

    一.简介 这个是我们的一个门户App,能够动态加载示例,查看文档,视频,朋友圈聊天等功能.目前开源供大家参考学习,另外"讨论"里对应的BBS上有详细的文档说明,非常值得大家参考和学 ...

  2. Quartz.NET---任务调度框架

    在我们的程序中,可能经常会遇到"每隔多久执行XXX任务"这样的问题:每天晚上24:00审核用户提交的申请:每隔1分钟去数据库中检索用户是否有新的消息:...   ...那么Quar ...

  3. 马旭飞:共探H3 BPM社区发展战略

    近日,以"让天下没有难用的流程"为主题,H3 BPM10.0在北京金隅喜来登酒店正式发布. H3 BPM全新的业务流程管理系统是颠覆BPM行业的巨作,拥有众多独创技术,近200个业 ...

  4. [转]MOSS通过此命令注册模板,web应用程序可以根据stp模块生成网站集

    注:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin          stsadm –o add ...

  5. Android NDK环境搭建及调用JNI的简单步骤

    转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3396595.html Java Native Interface (JNI)标准是java平台的一部分 ...

  6. Swift设置自动行高

    // 设置行高自适应 tableView.rowHeight = UITableViewAutomaticDimension // 设置预估行高 tableView.estimatedRowHeigh ...

  7. YTKNetworkConfig配置HTTPS请求

    YTKNetworkConfig配置HTTPS请求 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ad91cc ...

  8. Android App 开发技能图谱

    操作系统 Windows/MacOSX/Linux 编程语言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 开发工具 IDE An ...

  9. C#问题

    1.结构体里面是否可以有属性? 可以有属性.实测代码以及截图. In C#, we can use the following statement to convert a string s to a ...

  10. 让我们喝喝下午茶,聊聊AJAX和JSON

    1.AJAX     [1] AJAX简介         > 全称:Asynchronous JavaScript And XML         > 直译:异步的JavaScript和 ...