Submission #643138

#TimeUsernameProblemLanguageResultExecution timeMemory
643138TimDeePassword (RMI18_password)C++17
10 / 100
7 ms208 KiB
#include <bits/stdc++.h> using namespace std; int query(string s); string guess(int n, int c) { if (c==2) { string A(n,'a'), B(n,'b'); int a=query(A),b=query(B); string ans; int added=0; for (int i=a; i>=0; --i) { string s; for (int j=0; j<i; ++j) s+='a'; for (int j=i; j<n; ++j) s+='b'; int x=query(s); for (int j=0; j<x-added-i; ++j) ans+='b'; ans+='a'; added=x-i; } ans.pop_back(); reverse(ans.begin(), ans.end()); return ans; } if (c==3) { string A(n,'a'), B(n,'b'), C(n,'c'); int a=query(A),b=query(B),c=query(C); string ans; int addedb=0,addedc=0; for (int i=a; i>=0; --i) { string s; for (int j=0; j<i; ++j) s+='a'; for (int j=i; j<n; ++j) s+='b'; int x=query(s)-i-addedb; s.clear(); for (int j=0; j<i; ++j) s+='a'; for (int j=i; j<n; ++j) s+='c'; int y=query(s)-i-addedc; string tmp(i,'a'); int added=0; if (y) { for (int j=x; j>=0; --j) { string s=tmp; for (int k=0; k<j; ++k) s+='b'; for (int k=0; k<y; ++k) s+='c'; int v=query(s)-i-j-added; for (int k=0; k<v; ++k) { ans+='c'; addedc++; added++; } ans+='b'; addedb++; } if (ans.size()) {ans.pop_back(); --addedb;} } else for(int k=0; k<x; ++k) {ans+='b'; addedb++;} ans.push_back('a'); } if (ans.size()) ans.pop_back(); reverse(ans.begin(), ans.end()); return ans; } if (n<=c && c<=26) { string ans(n,'.'); for (char i='a'; i<'a'+c; ++i) { int x=0; for (char j='a'; j<'a'+c; ++j) { if (j==i) continue; string s; s+=i; s+=j; int q=query(s); x+=q-1; } if (x<0) continue; ans[n-1-x]=i; } int paiu=1; for (auto x:ans) paiu&=x!='.'; if (paiu) return ans; } return "abc"; }

Compilation message (stderr)

password.cpp: In function 'std::string guess(int, int)':
password.cpp:10:20: warning: unused variable 'b' [-Wunused-variable]
   10 |     int a=query(A),b=query(B);
      |                    ^
password.cpp:28:20: warning: unused variable 'b' [-Wunused-variable]
   28 |     int a=query(A),b=query(B),c=query(C);
      |                    ^
password.cpp:28:31: warning: unused variable 'c' [-Wunused-variable]
   28 |     int a=query(A),b=query(B),c=query(C);
      |                               ^
#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...