Untitled
unknown
c_cpp
2 years ago
2.0 kB
6
Indexable
#include <stdio.h> int main(){ int lsc[20][20], tsc[20][20]; int n, win = 0, step; int di[6] = {0, 0, 1, -1,-1, 1};//r l u d y=x y=-x int dj[6] = {1, -1,0, 0, 1, -1}; scanf("%d", &n); for(int i = 0; i < 20; i++){ for(int j = 0; j < 20; j++){ lsc[i][j] = -1; tsc[i][j] = -1; } } for(int k = 1; k <= n; k++){ int a,b; scanf("%d%d", &a, &b); if(win != 0) continue; if(k % 2 == 1){ lsc[a][b] = 1; for(int i = 0; i < 6; i++){ int cnt = 1; for(int j = 1; j < 5; j++){ if(lsc[a + j*di[i]][b + j*dj[i]] == 1) cnt++; else break; } for(int j = 1; j < 5; j++){ if(lsc[a - j*di[i]][b - j*dj[i]] == 1) cnt++; else break; } if(cnt == 5){ win = 1; step = k; //printf("step=%d", k); break; } } } else{ tsc[a][b] = 1; for(int i = 0; i < 6; i++){ int cnt = 1; for(int j = 1; j < 5; j++){ if(tsc[a + j*di[i]][b + j*dj[i]] == 1) cnt++; else break; } for(int j = 1; j < 5; j++){ if(tsc[a - j*di[i]][b - j*dj[i]] == 1) cnt++; else break; } if(cnt == 5){ win = 2; step = k; break; } } } } if(win == 0) printf("There's no winner.\n"); if(win == 1) printf("LSC wins at the %dth step.\n", step); if(win == 2) printf("TSC wins at the %dth step.\n", step); }
Editor is loading...