usaco 2.4 ttwo
来源:互联网 发布:关于网络的英语作文 编辑:程序博客网 时间:2024/05/21 06:31
模拟,用cx,cy和jx,jy记录牛和人的坐标,cd,jd分别记录牛和人的方向。用walk[][]表示四个方向的操作。用do_walk()执行。
#include <iostream>#include <cstdio>#define walk_time 1000using namespace std;char m[10][10];int jx,jy,cx,cy,cd,jd;int walk[][2] = {{-1,0}, {0,+1}, {+1,0}, {0,-1}, };int ct;void do_walk(int &wa,int &x,int &y){ int next_x,next_y; next_x = x + walk[wa][0]; next_y = y + walk[wa][1]; if (next_x>=0&&next_x<10&&next_y>=0&&next_y<10&&m[next_x][next_y]!='*') { x = next_x; y = next_y; }else { wa = (wa+1)%4; } return;}int main(){ freopen("ttwo.in","r",stdin); freopen("ttwo.out","w",stdout); for (int i=0;i<10;i++) { for (int j=0;j<9;j++) { scanf("%c",&m[i][j]); } scanf("%c\n",&m[i][9]); } for (int i=0;i<10;i++) { for (int j=0;j<10;j++) { if (m[i][j]=='C') { cx = i; cy = j; }else if (m[i][j]=='F') { jx = i; jy = j; } } } ct = jd = cd = 0; while(ct<walk_time) { if (cx==jx&&cy==jy) { break; } do_walk(cd,cx,cy); do_walk(jd,jx,jy); ct++; } if (ct==walk_time) printf("0\n"); else printf("%d\n",ct); return 0;}
- USACO 2.4 ttwo
- usaco 2.4 ttwo
- USACO 2.4 ttwo
- USACO/ttwo
- usaco ttwo
- USACO 2.4 The Tamworth Two (ttwo)
- USACO ttwo BZOJ 1625
- usaco 2.4
- USACO2.4.1 The Tamworth Two (ttwo)
- USACO2.4.1 The Tamworth Two (ttwo)
- USACO 2.4.3 Overfencing
- USACO 2.4 cow tour
- usaco 2.4 comehome
- usaco 2.4 cowtour
- usaco 2.4 fracdec
- usaco 2.4 maze1
- Usaco 2.4Overfencing(BFS)
- USACO 2.4 Overfencing (maze1)
- 从30岁到35岁:为你的生命多积累一些厚度
- USACO Calf Flac
- usaco 2.4 maze1
- USACO Prime Cryptarithm
- The notes of Algorithms ---- Solving Recurrences
- usaco 2.4 ttwo
- Linux下的多线程编程
- oracle获取系统毫秒数
- linux 安装PHP+MySql+Apache
- 学习OpenCV例2-6
- poj1088滑雪搜索dfs
- 数列求和
- 散列(开放定址法)
- 01 背包 poj 3624