112492024-07-29 11:48:19bzyÜtős helyzet (75 pont)cpp14Accepted 75/757ms568 KiB
#include <bits/stdc++.h>

using namespace std;
int main()
{
	int n;
	cin>>n;
	int S[8][8] = {0};
	int P[8][8] = {0};
	int dx[4] = {-1,1,1,-1};
	int dy[4] = {-1,-1,1,1};
	while(n>0){
		array <int,3> A;
		cin>>A[0]>>A[1]>>A[2];
		A[1]--;
		A[2]--;
		int T = A[0];
		if(T == 1){
			if(S[A[1]][A[2]] != 0){
				cout<<"NEM"<<endl;
			}
			else{
				P[A[1]][A[2]] = 1;
				for(int i=0;i<8;i++){
					S[i][A[2]]++;
					S[A[1]][i]++;
				}
				S[A[1]][A[2]]--;
				cout<<"IGEN"<<endl;
			}
		}
		else if(T==2){
			if(S[A[1]][A[2]]!=0){
				cout<<"NEM"<<endl;
			}
			else{
				bool hitting = false;
				for(int i = 0;i<8;i++){
					for(int j = 0;j<4;j++){
						if(A[1] + dy[j]*i >=0 && A[1] + dy[j]*i <= 7 && A[2] + dx[j]*i >= 0 && A[2] + dx[j]*i <= 7){
							if(P[A[1] + dy[j]*i][A[2] + dx[j]*i] == 1){
								hitting = true;
								break;
							}
						}
					}
				}
				if(hitting == false){
					P[A[1]][A[2]] = 2;
					for(int i = 0;i<8;i++){
						S[i][A[2]]++;
						S[A[1]][i]++;
						for(int j = 0;j<4;j++){
							if(A[1] + dy[j]*i >=0 && A[1] + dy[j]*i <= 7 && A[2] + dx[j]*i >= 0 && A[2] + dx[j]*i <= 7){
								S[A[1] + dy[j]*i][A[2] + dx[j]*i]++;
							}
						}
					}
					S[A[1]][A[2]] -=5;
					cout<<"IGEN"<<endl;
				}
				else cout<<"NEM"<<endl;
			}
		}
		else if(T==3){
			if(P[A[1]][A[2]] == 1){
				for(int i=0;i<8;i++){
					S[i][A[2]]--;
					S[A[1]][i]--;
				}
				S[A[1]][A[2]]++;
				P[A[1]][A[2]] = 0;
				cout<<"-"<<endl;
			}
			else if(P[A[1]][A[2]] == 2){
				for(int i = 0;i<8;i++){
					S[i][A[2]]--;
					S[A[1]][i]--;
					for(int j = 0;j<4;j++){
						if(A[1] + dy[j]*i >=0 && A[1] + dy[j]*i <= 7 && A[2] + dx[j]*i >= 0 && A[2] + dx[j]*i <= 7){
							S[A[1] + dy[j]*i][A[2] + dx[j]*i]--;
						}
					}
				}
				S[A[1]][A[2]]+=5;
				P[A[1]][A[2]]=0;
				cout<<"-"<<endl;
			}
			else {
				cout<<"-"<<endl;
			}
		}
		n--;
	}
}
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/03ms424 KiB
2Accepted0/06ms524 KiB
3Accepted2/23ms568 KiB
4Accepted2/23ms356 KiB
5Accepted3/33ms356 KiB
6Accepted3/36ms356 KiB
7Accepted5/56ms504 KiB
8Accepted6/66ms504 KiB
9Accepted6/64ms504 KiB
10Accepted6/67ms504 KiB
11Accepted6/66ms420 KiB
12Accepted6/67ms500 KiB
13Accepted6/64ms376 KiB
14Accepted6/66ms356 KiB
15Accepted6/66ms356 KiB
16Accepted6/66ms208 KiB
17Accepted6/64ms504 KiB