A题
题目大意
你会得到一个由小写英文字母组成的字符串S。
交换S开头的a和b字符,并输出结果字符串。
输入格式
输出格式
输出答案。
样例
chukodai | 3 | 5 |
aa | 1 | 2 |
aaaabbbb | 1 | 8 |
分析
将按顺序输出,特判和的情况,以实现交换。
代码
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string str;
int a,b;
cin>>str>>a>>b;
for(int i=0;i<str.size();i++)
{
if(i==a-1) cout<<str[b-1];
else if(i==b-1) cout<<str[a-1];
else cout<<str[i];
}
return 0;
}
B题
题目大意
我们有4张写有整数1的卡片,4张写有2,…,4张写有的卡片,总共有张卡片。
高桥洗牌,取出其中一张,然后给你一堆剩下的张卡片。第i张卡片所在的这一堆中有一个整数写在上面。
找到写在高桥移除的卡片上的整数。
输入格式
...
输出格式
输出答案。
样例
样例输入1
样例输出1
高桥拿走了一张写着3的卡片。
样例输入2
样例输出2
样例输入3
样例输出3
分析
统计每个数字出现的次数,将出现次数不等于4的那个数输出。
代码
#include <iostream>
#include <cstring>
using namespace std;
int n,x,a[100010];
int main()
{
cin>>n;
for(int i=0;i<n*4-1;i++)
{
cin>>x;
a[x]++;
}
for(int i=1;i<=n;i++)
{
if(a[i]!=4)
{
cout<<i;
return 0;
}
}
return 0;
}
C题
题目大意
AtCoder铁路运营的某条线路上有N个车站。从起点站开始的第站叫做。
当地火车在所有车站都会停,而特快列车可能不会停。明确的说,特快列车只在个车站停车,第个停车的站叫做。
在这里,可以保证以及,也就是说,快车在起点站和终点站都停。
输入格式
...
...
输出格式
输出行。第行如果特快列车从起点站停在第站,则应包含Yes,否则应包含No。
样例
输入样例1
输出样例1
输入样例2
输出样例2
特快列车可在所有车站停靠。
分析
用map记录特快列车是否在各站停靠,然后再遍历一遍数组输出结果。
代码
#include <iostream>
#include <cstring>
#include <map>
using namespace std;
const int N=100010;
int n,m;
string s[N],t;
map<string,bool> mp;
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++) cin>>s[i];
for(int i=0;i<m;i++)
{
cin>>t;
mp[t]=true;
}
for(int i=0;i<n;i++)
{
if(mp[s[i]]) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}