제출 #1237970

#제출 시각아이디문제언어결과실행 시간메모리
1237970em4ma2Coins (IOI17_coins)C++20
0 / 100
5 ms584 KiB
#include <bits/stdc++.h>
#include "coins.h"
 
using namespace std;

#define pb push_back
#define ll long long

vector<int> coin_flips(vector<int>a,int c){
    vector<int>f(1);
    if (c<3){
        //1->011
        //2->101
        //3->110
        vector<int>f(1);
        if (a[0]==0 && a[1]==0 && a[2]==0)f[0]=c;
        else if (a[0]==1 && a[1]==1 && a[2]==1)f[0]=c;
        else if (a[c]==1){
            bool flag=true;
            int x;
            for (int i=0;i<c;i++){
                if (a[i]!=0){
                    flag=false;
                    x=i;
                }
            }for (int i=c+1;i<3;i++){
                if (a[i]!=0){
                    flag=false;
                    x=i;
                }
            }
            if (!flag){
                f[0]=x;
            }else{
                f[0]=3;
            }
        }else{
            bool flag=true;
            int x;
            for (int i=0;i<c;i++){
                if (a[i]!=1){
                    flag=false;
                    x=i;
                }
            }for (int i=c+1;i<3;i++){
                if (a[i]!=1){
                    flag=false;
                    x=i;
                }
            }
            if (!flag){
                f[0]=x;
            }else{
                f[0]=3;
            }
        }
    }
    return f;
}

int find_coin(vector<int>a){
    int cnt1=0,cnt0=0;
    for (int i=0;i<3;i++){
        if (a[i]==0)cnt0++;
        else if (a[i]==1)cnt1++;
    }
    int ans;
    if (cnt0>cnt1){
        for (int i=0;i<3;i++){
            if (a[i]==1)ans=i;
        }
    }else{
        for (int i=0;i<3;i++){
            if (a[i]==0)ans=i;
        }
    }
    return ans;
}

// static string run_test() {
// 	int c;
// 	cin >> c;
// 	vector<int> b(64);
// 	for (int i = 0; i < 8; i++) {
// 		string s;
// 		cin >> s;
// 		for (int j = 0; j < 8; j++) {
// 			b[i * 8 + j] = int(s[j] - '0');
// 		}
// 	}
// 	vector<int> flips = coin_flips(b, c);
// 	if ((int)flips.size() == 0) {
// 		return "0 turn overs";
// 	}
// 	for (int i = 0; i < (int)flips.size(); i++) {
// 		if (flips[i] < 0 || flips[i] > 63) {
// 			return "cell number out of range";
// 		}
// 		b[flips[i]] = 1 - b[flips[i]];
// 	}
// 	int coin = find_coin(b);
// 	if (coin != c) {
// 		return "wrong coin";
// 	}
// 	return "ok";
// }

// int main() {
// 	int tests;
// 	cin >> tests;
// 	for (int t = 1; t <= tests; t++) {
// 		string result = run_test();
// 		cout << "test #" << t << ": " << result << endl;
// 	}
// 	return 0;
// }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...