제출 #831453

#제출 시각아이디문제언어결과실행 시간메모리
831453Halym2007Martian DNA (IOI16_dna)C++11
36 / 100
17 ms404 KiB
#include <bits/stdc++.h>
using namespace std;
#include "dna.h"

//string s;
//int tests;
//
//bool make_test(std::string p) {
//	tests++;
//	for (int i = 0; i < p.size(); i++) {
//		if (p[i] != '0' && p[i] != '1') {
//			return false;
//		}
//	}
//	string ss = p + "#" + s;
//	vector<int> pr(ss.size() + 1);
//	pr[0] = -1;
//	bool answer = false;
//	for (int i = 1; i <= ss.size(); i++) {
//		int k = pr[i - 1];
//		while (k >= 0 && ss[k] != ss[i - 1])
//			k = pr[k];
//		pr[i] = k + 1;
//		if (pr[i] == p.size()) {
//			answer = true;
//			break;
//		}
//	} 
//	return answer;
//}



string analyse(int n, int t) {
	bool a1 = make_test ("0");
	bool a2 = make_test ("1");
	string jog = ""; 
	if (!a1 and !a2) return jog;
	if (!a1) {
		while (make_test(jog + "1")) {
			jog += '1';
		} 
		return jog;
	}
	else if (!a2) {
		while (make_test(jog + "0")) {
			jog += '0';
		} 
		return jog;
	}
	while (1) {
		if (make_test(jog + "0")) {
	 		jog += '0';
		}
		else if (make_test(jog + "1")) {
		 	jog += '1';
		}
		else break;
	}
	while (1) {
		if (make_test("0" + jog)) {
	 		jog = '0' + jog;
		}
		else if (make_test("1" + jog)) {
		 	jog = '1' + jog;
		}
		else break;
	}
	return jog;
}



//int main() {
//    int t;
//    cin >> s >> t;
//    string ans = analyse(s.size(), t);
//	cout << tests << endl << ans << endl;
//    return 0;
//}

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

grader.cpp: In function 'bool make_test(std::string)':
grader.cpp:14:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |  for (int i = 0; i < p.size(); i++) {
      |                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |  for (int i = 1; i <= ss.size(); i++) {
      |                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |   if (pr[i] == p.size()) {
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...