Untitled
unknown
c_cpp
3 years ago
2.0 kB
8
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...