답안 #643122

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
643122 2022-09-21T09:03:03 Z TimDee Password (RMI18_password) C++17
10 / 100
5 ms 336 KB
#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;
    }
    int paiu=1;
    for (auto x:ans) paiu&=x!='.';
    if (paiu) return ans;
  }
}

Compilation message

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:45:1: warning: control reaches end of non-void function [-Wreturn-type]
   45 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Guessed the password with 211 queries.
2 Correct 5 ms 208 KB Guessed the password with 507 queries.
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Guessed the password with 28 queries.
2 Runtime error 1 ms 336 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Guessed the password with 211 queries.
2 Correct 5 ms 208 KB Guessed the password with 507 queries.
3 Correct 1 ms 208 KB Guessed the password with 28 queries.
4 Runtime error 1 ms 336 KB Execution killed with signal 11
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Guessed the password with 211 queries.
2 Correct 5 ms 208 KB Guessed the password with 507 queries.
3 Correct 1 ms 208 KB Guessed the password with 28 queries.
4 Runtime error 1 ms 336 KB Execution killed with signal 11
5 Halted 0 ms 0 KB -