11分求助嘤嘤嘤~~,样例输出是2!

P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two

暴力!!!!!!!!!!!!!!!!!!! ------------ ```c #include <bits/stdc++.h> using namespace std; int main() { long long flag = 1e8; long long sj = 0; long long fy,fx,cy,cx; char ff = 'w',cf = 'w'; char s[12][12]; for (int i = 0; i < 12; i++) { for (int j = 0; j < 12; j++) { s[i][j] = '*'; } } for (int i = 1; i <= 10; i++) { for (int j = 1; j <= 10; j++) { cin >> s[i][j]; } } for (int i = 1; i <= 10; i++) { for (int j = 1; j <= 10; j++) { if (s[i][j] == 'F') { fy = i; fx = j; } if (s[i][j] == 'C') { cy = i; cx = j; } } } while (fx != cx || fy != cy) { flag--; if (flag <= 0) { cout<<"0"; return 0; } if (ff == 'w') { if (s[fy - 1][fx] != '*') { fy -= 1; } else { ff = 'd'; } } else if (ff == 'd') { if (s[fy][fx + 1] != '*') { fx += 1; } else { ff = 's'; } } else if (ff == 's') { if (s[fy + 1][fx] != '*') { fy += 1; } else { ff = 'a'; } } else if (ff == 'a') { if (s[fy][fx - 1] != '*') { fx -= 1; } else { ff = 'w'; } } //////////////////// //////////////////// if (cf == 'w') { if (s[cy - 1][cx] != '*') { cy -= 1;/////////// } else { cf = 'd';//////// } } else if (cf == 'd') { if (s[cy][cx + 1] != '*') { cx += 1; } else { cf = 's'; } } else if (cf == 's') { if (s[cy + 1][cx] != '*') { cy += 1;//////// } else { cf = 'a';/////// } } else if (cf == 'a') { if (s[cy][cx - 1] != '*') { cx -= 1; } else { cf = 'w'; } } sj++; } cout << sj; return 0; } ```
by abc_abc_abc @ 2024-03-29 07:29:44


|