112482024-07-29 11:43:59bzyÜtős helyzet (75 pont)cpp14Hibás válasz 21/756ms512 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[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]--;
						}
					}
				}
				S[A[1]][A[2]]+=5;
				P[A[1]][A[2]] = 0;
				cout<<"-"<<endl;
			}
			else {
				cout<<"-"<<endl;
			}
		}
		n--;
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base21/75
1Elfogadva0/03ms424 KiB
2Hibás válasz0/04ms356 KiB
3Elfogadva2/23ms356 KiB
4Elfogadva2/23ms356 KiB
5Elfogadva3/33ms256 KiB
6Elfogadva3/34ms228 KiB
7Elfogadva5/54ms356 KiB
8Hibás válasz0/64ms356 KiB
9Hibás válasz0/66ms496 KiB
10Hibás válasz0/64ms356 KiB
11Hibás válasz0/64ms504 KiB
12Hibás válasz0/66ms256 KiB
13Elfogadva6/64ms356 KiB
14Hibás válasz0/66ms512 KiB
15Hibás válasz0/66ms360 KiB
16Hibás válasz0/66ms376 KiB
17Hibás válasz0/66ms504 KiB