답안 #251421

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
251421 2020-07-21T07:53:12 Z StevenH Martian DNA (IOI16_dna) C++14
0 / 100
14 ms 392 KB
#include "dna.h"

#include <cstdlib>
#include <iostream>
#include <cmath>
#include <random>
using namespace std;

string analyse(int n, int t)
{

    string str = "";
    bool flag = 0;
    int cnt = 0;
    int k = 12;
    while (str.size() < n || cnt != 0)
    {
        if (flag == 0)
        {
            string a, b;
            if (rand() % 2)
                a = "0", b = "1";
            else
                a = "1", b = "0";
            cout << a << " " << b << endl;
            if (make_test(str + a))
                str += a, cnt = 0;
            else
            {
                if (cnt == k)
                {
                    if (!make_test(str + b))
                    {
                        // int l = 1, r = k;
                        // while (l < r)
                        // {
                        //     int mid = (l + r + 1) / 2;
                        //     string res = str.substr(0, str.size() - k + mid);
                        //     if (make_test(res))
                        //         l = mid;
                        //     else
                        //         r = mid - 1;
                        // }
                        // str = str.substr(0, str.size() - k + l);
                        int tag;
                        for (int i = 1; i <= cnt; i++)
                        {
                            if (make_test(str.substr(0, str.size() - cnt + i)))
                                tag = i;
                            else
                                break;
                        }
                        str = str.substr(0, str.size() - cnt + tag);
                        flag = 1;
                        cnt = 0;
                        continue;
                    }
                    else
                    {
                        str += b;
                        cnt = 0;
                        continue;
                    }
                }
                else
                    str += b, cnt++;
            }
        }
        if (flag == 1)
        {
            if (make_test("0" + str))
                str = "0" + str;
            else
                str = "1" + str;
        }
        if (str.size() == n)
        {
            // int l = 1, r = cnt;
            // while (l < r)
            // {
            //     int mid = (l + r + 1) / 2;
            //     string res = str.substr(0, str.size() - cnt + mid);
            //     if (make_test(res))
            //     {
            //         l = mid;
            //     }
            //     else
            //         r = mid - 1;
            // }
            // str = str.substr(0, str.size() - cnt + l);

            int tag;
            for (int i = 1; i <= cnt; i++)
            {
                if (make_test(str.substr(0, str.size() - cnt + i)))
                    tag = i;
                else
                    break;
            }
            str = str.substr(0, str.size() - cnt + tag);
            flag = 1;
            cnt = 0;
        }
    }
    return str;
}

Compilation message

dna.cpp: In function 'std::__cxx11::string analyse(int, int)':
dna.cpp:16:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (str.size() < n || cnt != 0)
            ~~~~~~~~~~~^~~
dna.cpp:76:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (str.size() == n)
             ~~~~~~~~~~~^~~~
dna.cpp:92:17: warning: 'tag' may be used uninitialized in this function [-Wmaybe-uninitialized]
             int tag;
                 ^~~
dna.cpp:45:29: warning: 'tag' may be used uninitialized in this function [-Wmaybe-uninitialized]
                         int tag;
                             ^~~
grader.cpp: In function 'bool make_test(std::__cxx11::string)':
grader.cpp:14:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < p.size(); i++) {
                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 1; i <= ss.size(); i++) {
                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (pr[i] == p.size()) {
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB Secret is incorrect!
2 Incorrect 0 ms 256 KB Secret is incorrect!
3 Incorrect 0 ms 256 KB Secret is incorrect!
4 Incorrect 0 ms 256 KB Secret is incorrect!
5 Incorrect 0 ms 256 KB Secret is incorrect!
6 Incorrect 0 ms 256 KB Secret is incorrect!
7 Incorrect 0 ms 256 KB Secret is incorrect!
8 Incorrect 0 ms 256 KB Secret is incorrect!
9 Incorrect 0 ms 256 KB Secret is incorrect!
10 Incorrect 0 ms 256 KB Secret is incorrect!
11 Incorrect 0 ms 256 KB Secret is incorrect!
12 Incorrect 0 ms 256 KB Secret is incorrect!
13 Incorrect 0 ms 256 KB Secret is incorrect!
14 Incorrect 0 ms 256 KB Secret is incorrect!
15 Incorrect 0 ms 256 KB Secret is incorrect!
16 Incorrect 0 ms 256 KB Secret is incorrect!
17 Incorrect 0 ms 256 KB Secret is incorrect!
18 Incorrect 0 ms 256 KB Secret is incorrect!
19 Incorrect 0 ms 256 KB Secret is incorrect!
20 Incorrect 0 ms 256 KB Secret is incorrect!
21 Incorrect 0 ms 256 KB Secret is incorrect!
22 Incorrect 0 ms 256 KB Secret is incorrect!
23 Incorrect 0 ms 256 KB Secret is incorrect!
24 Incorrect 0 ms 256 KB Secret is incorrect!
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB Secret is incorrect!
2 Incorrect 0 ms 256 KB Secret is incorrect!
3 Incorrect 0 ms 256 KB Secret is incorrect!
4 Incorrect 0 ms 256 KB Secret is incorrect!
5 Incorrect 0 ms 256 KB Secret is incorrect!
6 Incorrect 1 ms 256 KB Secret is incorrect!
7 Incorrect 0 ms 256 KB Secret is incorrect!
8 Incorrect 1 ms 256 KB Secret is incorrect!
9 Incorrect 0 ms 256 KB Secret is incorrect!
10 Incorrect 0 ms 256 KB Secret is incorrect!
11 Incorrect 0 ms 256 KB Secret is incorrect!
12 Incorrect 0 ms 256 KB Secret is incorrect!
13 Incorrect 0 ms 256 KB Secret is incorrect!
14 Incorrect 0 ms 256 KB Secret is incorrect!
15 Incorrect 0 ms 256 KB Secret is incorrect!
16 Incorrect 0 ms 256 KB Secret is incorrect!
17 Incorrect 1 ms 256 KB Secret is incorrect!
18 Incorrect 1 ms 256 KB Secret is incorrect!
19 Incorrect 1 ms 256 KB Secret is incorrect!
20 Incorrect 1 ms 256 KB Secret is incorrect!
21 Incorrect 1 ms 256 KB Secret is incorrect!
22 Incorrect 1 ms 256 KB Secret is incorrect!
23 Incorrect 1 ms 256 KB Secret is incorrect!
24 Incorrect 1 ms 256 KB Secret is incorrect!
25 Incorrect 1 ms 256 KB Secret is incorrect!
26 Incorrect 1 ms 256 KB Secret is incorrect!
27 Incorrect 1 ms 256 KB Secret is incorrect!
28 Incorrect 1 ms 256 KB Secret is incorrect!
29 Incorrect 1 ms 256 KB Secret is incorrect!
30 Incorrect 1 ms 256 KB Secret is incorrect!
31 Incorrect 1 ms 256 KB Secret is incorrect!
32 Incorrect 1 ms 256 KB Secret is incorrect!
33 Incorrect 1 ms 256 KB Secret is incorrect!
34 Incorrect 1 ms 256 KB Secret is incorrect!
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB Secret is incorrect!
2 Incorrect 0 ms 256 KB Secret is incorrect!
3 Incorrect 0 ms 256 KB Secret is incorrect!
4 Incorrect 0 ms 256 KB Secret is incorrect!
5 Incorrect 0 ms 256 KB Secret is incorrect!
6 Incorrect 0 ms 256 KB Secret is incorrect!
7 Incorrect 0 ms 256 KB Secret is incorrect!
8 Incorrect 0 ms 256 KB Secret is incorrect!
9 Incorrect 0 ms 256 KB Secret is incorrect!
10 Incorrect 0 ms 256 KB Secret is incorrect!
11 Incorrect 0 ms 256 KB Secret is incorrect!
12 Incorrect 0 ms 256 KB Secret is incorrect!
13 Incorrect 0 ms 256 KB Secret is incorrect!
14 Incorrect 0 ms 256 KB Secret is incorrect!
15 Incorrect 0 ms 256 KB Secret is incorrect!
16 Incorrect 0 ms 288 KB Secret is incorrect!
17 Incorrect 1 ms 256 KB Secret is incorrect!
18 Incorrect 1 ms 256 KB Secret is incorrect!
19 Incorrect 1 ms 256 KB Secret is incorrect!
20 Incorrect 1 ms 256 KB Secret is incorrect!
21 Incorrect 1 ms 256 KB Secret is incorrect!
22 Incorrect 14 ms 384 KB Secret is incorrect!
23 Incorrect 13 ms 384 KB Secret is incorrect!
24 Incorrect 14 ms 388 KB Secret is incorrect!
25 Incorrect 14 ms 384 KB Secret is incorrect!
26 Incorrect 13 ms 384 KB Secret is incorrect!
27 Incorrect 12 ms 392 KB Secret is incorrect!
28 Incorrect 10 ms 384 KB Secret is incorrect!
29 Incorrect 12 ms 384 KB Secret is incorrect!
30 Incorrect 10 ms 384 KB Secret is incorrect!
31 Incorrect 10 ms 384 KB Secret is incorrect!
32 Incorrect 10 ms 384 KB Secret is incorrect!
33 Incorrect 11 ms 384 KB Secret is incorrect!
34 Incorrect 10 ms 384 KB Secret is incorrect!
35 Incorrect 10 ms 384 KB Secret is incorrect!
36 Incorrect 10 ms 384 KB Secret is incorrect!
37 Incorrect 11 ms 384 KB Secret is incorrect!
38 Incorrect 12 ms 384 KB Secret is incorrect!
39 Incorrect 11 ms 384 KB Secret is incorrect!