답안 #95350

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
95350 2019-01-30T14:34:24 Z dalgerok Hidden Sequence (info1cup18_hidden) C++14
100 / 100
8 ms 528 KB
#include<bits/stdc++.h>
#include "grader.h"
using namespace std;




vector < int > findSequence(int N){
    vector < int > ans(N, 0), v0, v1, v;
    int kol0, kol1, cnt0 = 0, cnt1 = 0;
    for(int i = 0; i < N; i++){
        v0.push_back(0);
        v1.push_back(1);
        if(isSubsequence(v0) == false){
            kol0 = i;
            kol1 = N - kol0;
            break;
        }
        else if(isSubsequence(v1) == false){
            kol1 = i;
            kol0 = N - kol1;
            break;
        }
    }
    for(int i = 0; i < N; i++){
        v.clear();
        if(cnt0 + 1 + kol1 - cnt1 <= N / 2 + 1){
            for(int j = 1; j <= cnt0 + 1; j++){
                v.push_back(0);
            }
            for(int j = 1; j <= kol1 - cnt1; j++){
                v.push_back(1);
            }
            if(isSubsequence(v) == true){
                cnt0 += 1;
                ans[i] = 0;
            }
            else{
                cnt1 += 1;
                ans[i] = 1;
            }
        }
        else{
            for(int j = 1; j <= cnt1 + 1; j++){
                v.push_back(1);
            }
            for(int j = 1; j <= kol0 - cnt0; j++){
                v.push_back(0);
            }
            if(isSubsequence(v) == true){
                cnt1 += 1;
                ans[i] = 1;
            }
            else{
                cnt0 += 1;
                ans[i] = 0;
            }
        }
    }
    return ans;
}

Compilation message

hidden.cpp: In function 'std::vector<int> findSequence(int)':
hidden.cpp:27:21: warning: 'kol1' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if(cnt0 + 1 + kol1 - cnt1 <= N / 2 + 1){
            ~~~~~~~~~^~~~~~
hidden.cpp:47:38: warning: 'kol0' may be used uninitialized in this function [-Wmaybe-uninitialized]
             for(int j = 1; j <= kol0 - cnt0; j++){
                                 ~~~~~^~~~~~
grader.cpp: In function 'int main()':
grader.cpp:28:43: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type {aka long unsigned int}' [-Wformat=]
     fprintf (fifo_out, "%d\n", ans.size ());
                                ~~~~~~~~~~~^
grader.cpp:29:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0; i<ans.size () && i < N; i++)
                   ~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 248 KB Output is correct: Maximum length of a query = 5
2 Correct 2 ms 376 KB Output is correct: Maximum length of a query = 6
3 Correct 2 ms 248 KB Output is correct: Maximum length of a query = 5
4 Correct 2 ms 420 KB Output is correct: Maximum length of a query = 5
5 Correct 2 ms 376 KB Output is correct: Maximum length of a query = 4
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 528 KB Output is correct: Maximum length of a query = 83
2 Correct 5 ms 320 KB Output is correct: Maximum length of a query = 90
3 Correct 8 ms 380 KB Output is correct: Maximum length of a query = 96
4 Correct 7 ms 376 KB Output is correct: Maximum length of a query = 77
5 Correct 7 ms 248 KB Output is correct: Maximum length of a query = 95
6 Correct 7 ms 248 KB Output is correct: Maximum length of a query = 87
7 Correct 7 ms 404 KB Output is correct: Maximum length of a query = 97
8 Correct 6 ms 248 KB Output is correct: Maximum length of a query = 83
9 Correct 8 ms 248 KB Output is correct: Maximum length of a query = 101
10 Correct 8 ms 248 KB Output is correct: Maximum length of a query = 100
11 Correct 5 ms 312 KB Output is correct: Maximum length of a query = 96
12 Correct 5 ms 404 KB Output is correct: Maximum length of a query = 100
13 Correct 8 ms 248 KB Output is correct: Maximum length of a query = 101