제출 #218053

#제출 시각아이디문제언어결과실행 시간메모리
2180532fat2codePassword (RMI18_password)C++17
30 / 100
415 ms384 KiB
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define all(a) (a).begin(), (a).end()
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#define sz() size()
#define fr first
#define sc second
#define pi pair<int,int>
#define pii pair<pair<int,int>,int>
#define mp make_pair
//#define int long long
#define rc(s) return cout<<s,0
#define rcc(s) cout<<s,exit(0)
using namespace std;

const int mod=1e9+7;
const int modp=1999999973;
const int modulo=998244353;

int cnt[26];

int query(string str);

string guess(int n,int s){
    ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
    srand(chrono::steady_clock::now().time_since_epoch().count());
    vector<char>tz;
    for(int i=0;i<s;i++){
        tz.push_back(i+'a');
        string empt="";
        for(int j=1;j<=n;j++) empt.push_back(i+'a');
        cnt[i]=query(empt);
    }
    string ans;
    while(ans.size()!=n){
        for(int i=0;i<=ans.size();i++){
            for(int j=0;j<tz.size();j++){
                if(cnt[tz[j]-'a']){
                    string ask = ans.substr(0,i) + tz[j] + ans.substr(i,ans.size()-i);
                    if(query(ask)==ans.size()+1){
                        ans=ans.substr(0,i) + tz[j] +ans.substr(i,ans.size()-i);
                        cnt[tz[j]-'a']--;
                        goto next;
                    }
                }
            }
        }
        next:;
    }
    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

password.cpp: In function 'std::__cxx11::string guess(int, int)':
password.cpp:38:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(ans.size()!=n){
           ~~~~~~~~~~^~~
password.cpp:39:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<=ans.size();i++){
                     ~^~~~~~~~~~~~
password.cpp:40:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int j=0;j<tz.size();j++){
                         ~^~~~~~~~~~
password.cpp:43:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                     if(query(ask)==ans.size()+1){
                        ~~~~~~~~~~^~~~~~~~~~~~~~
#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...