(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. iOS加密之MD5加密

    话不多说,上代码! MyMD5.h里面 #import <Foundation/Foundation.h> @interface MyMD5 : NSObject { } +(NSStri ...

  2. DataGridView 设置某个列为只能为数字

    public DataGridViewTextBoxEditingControl CellEdit = null; int idx = 1; private void dataGridView1_Ed ...

  3. openlayers方法总结

    openlayers中的一些方法:OpenLayers.Layer::initialize:创建层Div,注册事件:destroy:注销:clone:克隆当前层:setName:设置层name:add ...

  4. [javascript svg fill stroke stroke-width points polyline 属性讲解] svg fill stroke stroke-width points polyline 绘制折线属性讲解

    <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...

  5. 闲聊桌面应用开发[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]

    闲来无聊,正好小组人员讨论到桌面的开发,那把笔者接触的WIndows平台下的几个主要的发展过程聊一聊. 主要从概述,参考资料,图书等几个方面说起. 所有的界面开发都会涉及如下的几个方面的内容: v 控 ...

  6. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  7. 【C语言】C语言关键字

    目录: [含义]  [C语言中的关键字]  [关键字分类]    · 数据类型关键字    · 类型修饰符关键字    · 复杂类型关键字    · 存储级别关键字    · 流程控制关键字      ...

  8. rsa && sha1 js code

    jsbn.js /* * Copyright (c) 2003-2005 Tom Wu * All Rights Reserved. * * Permission is hereby granted, ...

  9. android Gui系统之SurfaceFlinger(5)---Vsync(2)

    9.Vsync第二部分 在上一篇中我们讲到,视图的刷新需要很多步骤, void SurfaceFlinger::handleMessageRefresh() { ATRACE_CALL(); preC ...

  10. 适当使用enum做数据字典 ( .net c# winform csharp asp.net webform )

    在一些应用中,通常会用到很多由一些常量来进行描述的状态数据,比如性别(男.女),审核(未审核.已审核)等.在数据库中一般用数字形式来存储,比如0.1等. 不好的做法 经常看到一些应用(ps:最近又看到 ...