【问题描述】
松雅作为一位商业人士,经常需要在天津和深圳之间飞来飞去,因为在这两个城市,她有多间旅馆。当然在冬天她更愿意从天津飞到深圳,因为深圳更暖和。她实在是太忙了,以至于她根本就不记得在这两个方向上坐过多少航班了。
在最近的n天,她知道自己哪天在天津的办公室哪天在深圳的办公室,她总是在晚上飞,因此不可能在同一天出现在两地的办公室。考虑到这些信息,确定在过去的n天里,她从深圳飞天津的次数是否更多。
【输入形式】
输入的第一行为一个整数T,表示测试用例的个数。
接下来的T行,每行为一个测试用例,表示为一个整数n和一个n个字符的字符串,整数表示最近过去的天数,字符串表示松雅停留在两地办公室的情况,由大写字母'S'和'T'组成,如果第i个字符为'S',表示这天她在深圳的办公室,否则在天津的办公室。最远的一天为第一个字符,最近的一天为最后一个字符。
【输出形式】
输出有n行,每行对应一个测试用例,如果从深圳飞天津的次数更多,输出“YES”,否则输出“NO”。
#include<iostream> using namespace std; int main() { int t; cin>>t; while(t--){ int n; cin>>n; char f[n]={}; int scnt=0,tcnt=0; for(int i=0;i<n;i++){ cin>>f[i]; } for(int i=0;i<n-1;i++){ if(f[i]=='S'&&f[i+1]=='T')scnt++; if(f[i]=='T'&&f[i+1]=='S')tcnt++; } cout<<(scnt>tcnt?"YES":"NO")<<endl; } }