제출 #105607

#제출 시각아이디문제언어결과실행 시간메모리
105607pamajThree Friends (BOI14_friends)C++14
0 / 100
1074 ms8456 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n;
	
	cin >> n;
	
	string s;
	
	cin >> s;

	if(n%2 == 0) cout << "NOT POSSIBLE\n";

	else
	{
		int cnt[30];
		memset(cnt, 0, sizeof(cnt));

		int sz = n/2;



		for(int i = 0; i < n; i++)
		{

			cnt[s[i] - 'A']++;
		}

		int lt = -1;

		for(int i = 0; i < 26; i++)
		{
			if(cnt[i]%2)
			{
				if(lt == -1) lt = i;
				else
				{
					cout << "NOT POSSIBLE\n";
					return 0;
				}
			}
		}

		//cout << lt << "\n";
		if(lt == -1)
		{
			cout << "NOT POSSIBLE\n";
			return 0;	
		}

		string temp;
		bool already = false;

		for(int i = 0; i < s.size(); i++)
		{
			if(s[i] - 'A' == lt)
			{
				string tmp;
				string pass;
				bool ok = true;

				for(int j = 0; j < n; j++)
				{
					if(j == i) continue;

					tmp += s[j];
				}
				for(int j = 0; j < sz; j++)
				{
					if(tmp[j] == tmp[j + sz])
					{
						pass += tmp[j];
					}
					else ok = false;
				}
				if(ok)
				{
					if(already)
					{
						cout << "NOT UNIQUE\n";
						return 0;
					}
					else temp = pass, already = true;
				}
			}
		
		}

		cout << temp << "\n";
	}
}

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

friends.cpp: In function 'int main()':
friends.cpp:56:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0; i < s.size(); i++)
                  ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...