[백준 20528] 끝말잇기 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
주어진 팰린드롬 문자열들을 모두 사용해 끝말잇기가 가능한지 판단하는 문제입니다.
접근법
팰린드롬 문자열은 첫 글자와 마지막 글자가 같습니다.
따라서 각 문자열은 시작 글자 하나로만 구분되며, 끝말잇기가 가능하려면 모든 문자열의 시작 글자가 같아야 합니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
class Program {
static void Main() {
var data = Console.In.ReadToEnd();
var parts = data.Split();
var idx = 0;
var n = int.Parse(parts[idx++]);
var first = parts[idx++][0];
var ok = true;
for (var i = 1; i < n; i++) {
var s = parts[idx++];
if (s[0] != first) ok = false;
}
Console.WriteLine(ok ? 1 : 0);
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n; cin >> n;
string s; cin >> s;
char first = s[0];
bool ok = true;
for (int i = 1; i < n; i++) {
cin >> s;
if (s[0] != first) ok = false;
}
cout << (ok ? 1 : 0) << "\n";
return 0;
}