#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <functional>
#include <string>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <cmath>
#include <cstring>
#include <bitset>
#define xx first
#define yy second
#define all(x) (x).begin(), (x).end()
#define MOD 1000000009
using namespace std;
using i64 = long long int;
using ii = pair<int, int>;
using ii64 = pair<i64, i64>;
using iii = tuple<int, int, int>;
bool check(string s)
{
for (int i = 0; i < s.size() / 2; i++)
{
if (s[i] != s[s.size() - i - 1])
return false;
}
return true;
}
void solve()
{
int n;
scanf("%d", &n);
vector<string> v(n);
for (int i = 0; i < v.size(); i++)
cin >> v[i];
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
string s1, s2;
s1 = v[i] + v[j];
s2 = v[j] + v[i];
if (check(s1))
{
cout << s1 << endl;
return;
}
if (check(s2))
{
cout << s2 << endl;
return;
}
}
}
cout << "0" << endl;
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
int t;
scanf("%d", &t);
for (int i = 0; i < t; i++)
solve();
return 0;
}
처음에 코드 저렇게 작성하고 뭐가 문제인지 싶었다.
로직도 잘 돌아가고 예제도 잘 돌아가는데???
알고보니 cin.tie(NULL); 문제였음
ㅋㅋㅋㅋ 아니 컴파일 에러라도 띄워주던가!
cin.tie(nULL)을 쓰면 scanf와 endl을 사용하지 못합니다
알아두기
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <functional>
#include <string>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <cmath>
#include <cstring>
#include <bitset>
#define xx first
#define yy second
#define all(x) (x).begin(), (x).end()
#define MOD 1000000009
using namespace std;
using i64 = long long int;
using ii = pair<int, int>;
using ii64 = pair<i64, i64>;
using iii = tuple<int, int, int>;
bool check(string s)
{
for (int i = 0; i < s.size() / 2; i++)
{
if (s[i] != s[s.size() - i - 1])
return false;
}
return true;
}
void solve()
{
int n;
cin >> n;
vector<string> v(n);
for (int i = 0; i < v.size(); i++)
cin >> v[i];
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
string s1, s2;
s1 = v[i] + v[j];
s2 = v[j] + v[i];
if (check(s1))
{
cout << s1 << "\n";
return;
}
if (check(s2))
{
cout << s2 << "\n";
return;
}
}
}
cout << "0\n";
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
int t;
cin >> t;
for (int i = 0; i < t; i++)
solve();
return 0;
}
'백준' 카테고리의 다른 글
13116 30번 (0) | 2020.10.13 |
---|---|
2331 반복수열 (0) | 2020.10.13 |
2947 나무 조각 (0) | 2020.10.12 |
2565 전깃줄 (0) | 2020.10.11 |
15988 1, 2, 3 더하기 3 (0) | 2020.10.11 |