提出詳細
ソースコード
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <functional>
#include <vector>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <fstream>
#include <random>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll,ll> P;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<char> vc;
typedef vector<string> vs;
typedef vector<P> vp;
#define rep(i,a,n) for(ll i = (a);i < (n);i++)
#define per(i,a,n) for(ll i = (a);i > (n);i--)
#define lep(i,a,n) for(ll i = (a);i <= (n);i++)
#define pel(i,a,n) for(ll i = (a);i >= (n);i--)
#define clr(a,b) memset((a),(b),sizeof(a))
#define pb push_back
#define all(c) (c).begin(),(c).end()
#define sz size()
#define endl "\n"
#define print(X) cout << (X) << "\n"
// #define input(X) getline(cin,X)
static const ll INF = 1e9+7;
static const ll INFL = 1e18+7;
ll n,m,l, p;
string s,t;
int d[200010],e[200010],dp[5001][5001];
char field[501][501];
void init(){
rep(i,0,26)d[i] = e[i] = 0;
}
void func(){
cin >> n;
rep(i,0,n){
cin >> s;
if(s[0] == s[s.sz-1])continue;
d[s[0]-'a']++;
e[s[s.sz-1]-'a']++;
}
rep(i,0,n){
if(d[i] != e[i]){
puts("NG");
return;
}
}
puts("OK");
}
int main(){
int p;
cin >> p;
rep(i,0,p){
init();
printf("Case #%lld:\n",i+1);
func();
}
return 0;
}
提出情報
提出出力結果
テストケース情報