USACO Section 2.4: The Tamworth Two

这题我是用蒙的方法来弄出最后的不能碰到的条件的(用1000试了下account跳出条件),结果竟然还过了,不过网上有精准的求出这个碰不到的条件,farm的状态为10*10*4 = 400,cow的状态也一样,所以应为160000,不过要AC这题我用的1000也行。。

 /*
 ID: yingzho1
 LANG: C++
 TASK: ttwo
 */
 #include <iostream>
 #include <fstream>
 #include <string>
 #include <map>
 #include <vector>
 #include <set>
 #include <algorithm>
 #include <stdio.h>
 #include <queue>
 #include <cstring>
 #include <cmath>

 using namespace std;

 ifstream fin("ttwo.in");
 ofstream fout("ttwo.out");

 ][];
 ], farm[];
 ][] = {{-, }, {, }, {, }, {, -}};

 bool noobstacle(int x, int y) {
      || x >=  || y <  || y >= ) return false;
     if (board[x][y] == '*') return false;
     return true;
 }

 int main()
 {
     ; i < ; i++) {
         ; j < ; j++) {
             fin >> board[i][j];
             if (board[i][j] == 'C') {
                 board[i][j] = '.';
                 cow[] = i, cow[] = j;
             }
             if (board[i][j] == 'F') {
                 board[i][j] = '.';
                 farm[] = i, farm[] = j;
             }
         }
     }
     ;
     int cowdir, farmdir;
     cowdir = farmdir  = ;
     ] != farm[] || cow[] != farm[]) {
         account++;
         ]+dir[farmdir][], farm[]+dir[farmdir][])) {
             farm[] += dir[farmdir][];
             farm[] += dir[farmdir][];
         }
         ) % ;
         ]+dir[cowdir][], cow[]+dir[cowdir][])) {
             cow[] += dir[cowdir][];
             cow[] += dir[cowdir][];
         }
         ) % ;
         //cout << account << endl;
         ) {
             fout <<  << endl;
             ;
         }
     }
     fout << account << endl;

     ;
 }
上一篇:图解Microsoft SQL Server——“远程过程调用失败 [0x800706be] 错误“。


下一篇:冒泡排序的过程以及讲解