답안 #398826

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
398826 2021-05-04T20:46:17 Z Hassan61 세 명의 친구들 (BOI14_friends) C++14
0 / 100
61 ms 6852 KB
/**
 * pair : first second
 * binary : lower_bound    upper_bound
 * strings : tolower    toupper
 * vector : push_back erase begin
 * set : insert
**/

/*
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
*/

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define un unsigned
#define MAXN 200004
ll n, a, b, r, x1, x2;
string str;
int main()
{
	//ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	cin >> n >> str;
	int sSize = n / 2 + 1;
	string s1(sSize, 'a'), s2(sSize,'a'), s3(sSize-1, 'a');
	int j = 0;
	for (int i = 0; i <= n/2; i++)
	{
		s1[j] = str[i];
		j++;
	}
	j = 0;
	for (int i = n/2; i < n; i++)
	{
		s2[j] = str[i];
		j++;
	}
	x1 = x2 = r = 0;
	for (int i = 0; i <= n / 2; i++)
	{
		if (s1[i+x1]==s2[i+x2]) {
			r++;
			//cout << s1[i + x1] << " " << s2[i + x2] << "\n";

		}
		else if (x1 + x2 == 0 && s1[i + 1] == s2[i]) {
			x1 = 1;
			r++;
			//cout << s1[i + x1] << " " << s2[i + x2] << "\n";

		}
		else if (x1 + x2 == 0 && s1[i] == s2[i+1]) {
			x2 = 1;
			r++;
			//cout << s1[i + x1] << " " << s2[i + x2] << "\n";

		}
		else if (s1[i + 1] == s2[i + 1]) {
			x1=x2 = 1;
			r++;
			//cout << s1[i + x1] << " " << s2[i + x2] << "\n";

		}

		if(i< n / 2)s3[i] = s1[i + x1];
		else
		{
			s3[i - 1] = s1[i + x1];
		}
		if (x1 + x2 > 0 && i == n / 2-1)break;

	}

	if (r == sSize) {
		cout << "NOT UNIQUE";

	}
	else if (r + 1 == sSize) {
		
		cout << s3;

	}
	else {
		cout << "NOT POSSIBLE";
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 56 ms 6116 KB Output is correct
2 Correct 59 ms 6852 KB Output is correct
3 Correct 58 ms 6776 KB Output is correct
4 Correct 61 ms 6824 KB Output is correct
5 Correct 57 ms 6832 KB Output is correct
6 Incorrect 56 ms 5808 KB Output isn't correct
7 Halted 0 ms 0 KB -