112472024-07-28 22:24:21bzyÜtős helyzet (75 pont)cpp14Hibás válasz 0/757ms504 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 pos = S[A[1]][A[2]];
		int T = A[0];
		if(T == 1){
			if(pos != 0) cout<<"NEM"<<endl;
			else{
				P[A[1]][A[2]] = 1;
				for(int i=0;i<8;i++){
					S[A[i]][A[2]]++;
					S[A[1]][A[i]]++;
					pos--;
				}
				cout<<"IGEN"<<endl;
			}
		}
		else if(T==2){
			if(pos!=0)cout<<"NEM"<<endl;
			else{
				bool hitting = false;
				for(int i = 0;i<8;i++){
					for(int j = 0;j<4;j++){
						if(A[2] + dx[j]*i >=0 && A[2] + dx[j]*i <8 && A[1] + dy[j]*i >= 0 && A[1] + dy[j]*1<8 && P[A[1] + dy[j]*i][A[2] + dx[j]*i] == 1){
							hitting = true;
							P[A[1]][A[2]] = 0;
						}
					}
				}
				if(hitting = false){
					P[A[1]][A[2]] = 2;
					for(int i = 0;i<8;i++){
							S[A[i]][A[2]]++;
							S[A[1]][A[i]]++;
							for(int j = 0;j<4;j++){
								if(A[2] + dx[j]*i >=0 && A[2] + dx[j]*i <8 && A[1] + dy[j]*i >= 0 && A[1] + dy[j]*1<8){
									S[A[1] + dy[j]*i][A[2] + dx[j]*i] ++;
								}
							}
							pos-=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[A[i]][A[2]]--;
					S[A[1]][A[i]]--;
					pos++;
				}
				P[A[1]][A[2]] = 0;
				cout<<"-"<<endl;
			}
			else if(P[A[1]][A[2]] == 2){
				for(int i = 0;i<8;i++){
					S[A[i]][A[2]]--;
					S[A[1]][A[i]]--;
					for(int j = 0;j<4;j++){
						if(A[2] + dx[j]*i >=0 && A[2] + dx[j]*i <8 && A[1] + dy[j]*i >= 0 && A[1] + dy[j]*1<8){
							S[A[1] + dy[j]*i][A[2] + dx[j]*i]--;
						}
					}
					pos+=5;
				}
				P[A[1]][A[2]] = 0;
				cout<<"-"<<endl;
			}
			else cout<<"-"<<endl;
		}
		n--;
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/75
1Elfogadva0/03ms420 KiB
2Hibás válasz0/06ms436 KiB
3Hibás válasz0/23ms436 KiB
4Hibás válasz0/23ms416 KiB
5Hibás válasz0/33ms376 KiB
6Hibás válasz0/36ms356 KiB
7Hibás válasz0/56ms356 KiB
8Hibás válasz0/64ms504 KiB
9Hibás válasz0/64ms504 KiB
10Hibás válasz0/66ms504 KiB
11Hibás válasz0/67ms504 KiB
12Hibás válasz0/67ms488 KiB
13Hibás válasz0/66ms376 KiB
14Hibás válasz0/67ms356 KiB
15Hibás válasz0/66ms496 KiB
16Hibás válasz0/66ms504 KiB
17Hibás válasz0/64ms376 KiB