Submission #1237987

#TimeUsernameProblemLanguageResultExecution timeMemory
1237987em4ma2Coins (IOI17_coins)C++20
25 / 100
5 ms596 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 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=-1; 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; } } //cout<<x<<endl; if (!flag){ f[0]=x; }else{ f[0]=3; } //cout<<f[0]<<endl; }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; } } } //cout<<f[0]<<endl; return f; } int find_coin(vector<int>a){ // for (auto x:a){ // cout<<x<<" "; // } 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; } } //cout<<ans<<endl; 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...