제출 #643119

#제출 시각아이디문제언어결과실행 시간메모리
643119TimDeePassword (RMI18_password)C++17
10 / 100
6 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 (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;
    }
    return ans;
  }
}

컴파일 시 표준 에러 (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:43:1: warning: control reaches end of non-void function [-Wreturn-type]
   43 | }
      | ^
#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...