답안 #923388

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
923388 2024-02-07T07:13:32 Z vjudge1 Hidden Sequence (info1cup18_hidden) C++11
44 / 100
12 ms 2392 KB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
// vector<int>s={0,0,1,1};
// bool isSubsequence(vector<int>t){
//     int p=0;
//     for(auto u:s){
//         if(p<t.size() and u==t[p]){
//             p++;
//         }
//     }
//     return p==t.size();
// }
vector<int>findSequence(int n){
    if(n<=10){
        map<set<string>,string>cnt;
    for(int i=0;i<(1<<n);i++){
        string s="";
        for(int j=0;j<n;j++){
            if((i>>j)&1){
                s+='1';
            }else{
                s+='0';
            }
        }
        set<string>e;
        for(int r=(n/2+1);r<=(n/2+1);r++){
            for(int k=0;k<(1<<(r));k++){
                string t="";
                for(int j=0;j<(r);j++){
                    if((k>>j)&1){
                        t+='1';
                    }else{
                        t+='0';
                    }
                }
                int p=0;
                for(auto u:s){
                    if(p<t.size() and u==t[p]){
                        p++;
                    }
                }
                if(p==t.size()){
                    e.insert(t);
                }
            }
        }
        cnt[e]=s;
    }
    set<string>e;
    for(int r=(n/2+1);r<=(n/2+1);r++){
        for(int k=0;k<(1<<(r));k++){
            vector<int>t;
            string y="";
            for(int j=0;j<(r);j++){
                if((k>>j)&1){
                    t.push_back(1);
                    y+='1';
                }else{
                    t.push_back(0);
                    y+='0';
                }
            }
            if(isSubsequence(t)){
                e.insert(y);
            }
        }
    }
    vector<int>ans;
    for(auto u:cnt[e]){
        ans.push_back(u-'0');
    }
    return ans;
    }
    vector<int>t;
    while(t.size()<=n and isSubsequence(t)){
        t.push_back(t.size()%2);
    }
    t.pop_back();
    if(t.size()<n){
        t.insert(t.begin(),1);
        if(!isSubsequence(t)){
            t.erase(t.begin());
        }
    }
    vector<int>ans;
    for(int i=0;i<t.size();i++){
        vector<int>r=t;
        int cnt=0;
        while(r.size()<=n and isSubsequence(r)){
            r.insert(r.begin()+i+cnt,t[i]);
            cnt++;
        }
        for(int j=1;j<=cnt;j++){
            ans.push_back(t[i]);
        }
    }
    // for(auto u:ans){
    //     cout<<u<<' ';
    // }
    // cout<<endl;
    return ans;
}

Compilation message

hidden.cpp: In function 'std::vector<int> findSequence(int)':
hidden.cpp:39:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |                     if(p<t.size() and u==t[p]){
      |                        ~^~~~~~~~~
hidden.cpp:43:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |                 if(p==t.size()){
      |                    ~^~~~~~~~~~
hidden.cpp:76:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   76 |     while(t.size()<=n and isSubsequence(t)){
      |           ~~~~~~~~^~~
hidden.cpp:80:16: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   80 |     if(t.size()<n){
      |        ~~~~~~~~^~
hidden.cpp:87:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   87 |     for(int i=0;i<t.size();i++){
      |                 ~^~~~~~~~~
hidden.cpp:90:23: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   90 |         while(r.size()<=n and isSubsequence(r)){
      |               ~~~~~~~~^~~
grader.cpp: In function 'int main()':
grader.cpp:28:26: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
   28 |     fprintf (fifo_out, "%d\n", ans.size ());
      |                         ~^     ~~~~~~~~~~~
      |                          |              |
      |                          int            std::vector<int>::size_type {aka long unsigned int}
      |                         %ld
grader.cpp:29:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for (int i=0; i<ans.size () && i < N; i++)
      |                   ~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 704 KB Output is correct: Maximum length of a query = 5
2 Correct 12 ms 2392 KB Output is correct: Maximum length of a query = 6
3 Correct 2 ms 704 KB Output is correct: Maximum length of a query = 5
4 Correct 4 ms 1112 KB Output is correct: Maximum length of a query = 5
5 Correct 1 ms 344 KB Output is correct: Maximum length of a query = 4
# 결과 실행 시간 메모리 Grader output
1 Partially correct 3 ms 436 KB Output is partially correct: Maximum length of a query = 93
2 Partially correct 5 ms 432 KB Output is partially correct: Maximum length of a query = 100
3 Partially correct 4 ms 944 KB Output is partially correct: Maximum length of a query = 105
4 Partially correct 3 ms 440 KB Output is partially correct: Maximum length of a query = 89
5 Correct 5 ms 436 KB Output is correct: Maximum length of a query = 95
6 Correct 2 ms 432 KB Output is correct: Maximum length of a query = 69
7 Correct 1 ms 436 KB Output is correct: Maximum length of a query = 74
8 Correct 2 ms 440 KB Output is correct: Maximum length of a query = 72
9 Correct 2 ms 436 KB Output is correct: Maximum length of a query = 79
10 Correct 3 ms 692 KB Output is correct: Maximum length of a query = 80
11 Partially correct 5 ms 436 KB Output is partially correct: Maximum length of a query = 190
12 Correct 1 ms 432 KB Output is correct: Maximum length of a query = 55
13 Partially correct 4 ms 436 KB Output is partially correct: Maximum length of a query = 105