제출 #1094310

#제출 시각아이디문제언어결과실행 시간메모리
1094310alexddSecret Permutation (RMI19_permutation)C++17
0 / 100
1 ms600 KiB
#include "permutation.h"
#include <bits/stdc++.h>
using namespace std;
map<vector<int>,int> mp;
int intreaba(vector<int> aux)
{
    if(mp[aux]==0)
    {
        mp[aux] = query(aux);
    }
    return mp[aux];
}
void solve(int N)
{
    mp.clear();
    vector<int> v(N);
    for(int i=0;i<N;i++)
        v[i]=i+1;
    while(intreaba(v) > N-1)
    {
        bool schimbat=0;
        for(int i=0;i<N;i++)
        {
            for(int j=i+1;j<N;j++)
            {
                int init = intreaba(v);
                swap(v[i],v[j]);
                if(intreaba(v) >= init)
                    swap(v[i],v[j]);
                else
                    schimbat=1;
            }
        }
        assert(schimbat);
    }
    vector<int> rez(N);
    for(int i=0;i<N;i++)
        rez[v[i]-1]=i+1;
    answer(rez);
}
/*
7
2 1 3 7 4 6 5
*/

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

stub.cpp: In function 'int query(int*)':
stub.cpp:15:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |   fscanf(stdin, "%d", &x);
      |   ~~~~~~^~~~~~~~~~~~~~~~~
stub.cpp: In function 'int main(int, char**)':
stub.cpp:48:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   48 |   fscanf(stdin, "%d", &N);
      |   ~~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...