目录
A:Spring Couplets
题目描述:
输入描述:
输出描述:
样例及解释:
题意:给定一副对联,判断是否满足平仄规则
1.一条线路的音调模式必须与另一条线路相反。也就是说,如果一个字是平声,那么它在另一行中对应的字必须是斜调,反之亦然。
2.第一行的最后一个字符应该是斜调,这会强制第二行的最后一个字符是平调。
思路:简单模拟题
比赛的时候,翻译比较紧张,翻出来的时候比较慢,也不是很确切,导致签到时间比较短
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
string s[25], ss[25];
map<char, int> mp;
int main(){
int t;
cin >> t;
mp['1'] = 1;
mp['2'] = 1;
mp['3'] = 2;
mp['4'] = 2;
while(t--){
int n;
cin >> n;
for(int i = 0; i < n; i++){
cin >> s[i];
}
for(int i = 0; i < n; i++){
cin >> ss[i];
}
bool f = 0, ff = 0, fff = 0;
for(int i = 0; i < n; i++){
int len = s[i].length() - 1;
int lens = ss[i].length() - 1;
if(i == n - 1 && mp[s[i][len]] == 2){
ff = 1;
}
if(i == n - 1 && mp[ss[i][lens]] == 1){
fff = 1;
}
if(mp[s[i][len]] == mp[ss[i][lens]]){
f = 1;
}
}
if(!ff || !fff){
f = 1;
}
if(f == 0){
cout << "YES" << endl;
}else{
cout << "NO" << endl;
}
}
return 0;
}
C:Magical Rearrangement
题目描述:
输入描述: