首页 > 其他 > 详细

题解 CF61B 【Hard Work】

时间:2020-11-06 20:08:38      阅读:24      评论:0      收藏:0      [点我收藏+]

Translation

判断字符串 \(s_1, s_2, s_3\) 能否通过首位相连的方式组成 \(t_i\)(不考虑大小写)。

Solution

首先,输入 \(3\) 个字符串 \(s_1, s_2, s_3\),因为不考虑大小写,所以可以把它们全部都变成小写(这里以小写为例,大写也可以)。

接着,读入一个 \(n\) ,表示有多少个 \(t_i\)

然后,用 while 循环 读入 \(t_i\),对于每一次循环:

  • 转换成小写字母。
  • 比对 \(6\) 中情况(详见代码)。
    • 符合输出 \(\texttt{ACC}\)
    • 否则输出 \(\texttt{WA}\)

Code

string s1, s2, s3, y1, y2, y3;
void work()
{
	cin >> s1 >> s2 >> s3;
	for(int i = 0; i < s1.size(); i++)
		if(s1[i] >= ‘a‘ && s1[i] <= ‘z‘)
			y1 += s1[i];
		else if(s1[i] >= ‘A‘ && s1[i] <= ‘Z‘)
			y1 += char(s1[i] + 32);
	for(int i = 0; i < s2.size(); i++)
		if(s2[i] >= ‘a‘ && s2[i] <= ‘z‘)
			y2 += s2[i];
		else if(s2[i] >= ‘A‘ && s2[i] <= ‘Z‘)
			y2 += char(s2[i] + 32);
	for(int i = 0; i < s3.size(); i++)
		if(s3[i] >= ‘a‘ && s3[i] <= ‘z‘)
			y3 += s3[i];
		else if(s3[i] >= ‘A‘ && s3[i] <= ‘Z‘)
			y3 += char(s3[i] + 32);
	int n;
	scanf("%d", &n);
	while(n--)
	{
		string qwq, qaq;
		cin >> qwq;
		for(int i = 0; i < qwq.size(); i++)
			if(qwq[i] >= ‘a‘ && qwq[i] <= ‘z‘)
				qaq += qwq[i];
			else if(qwq[i] >= ‘A‘ && qwq[i] <= ‘Z‘)
				qaq += char(qwq[i] + 32);
		if(y1 + y2 + y3 == qaq) puts("ACC");
		else if(y1 + y3 + y2 == qaq) puts("ACC");
		else if(y2 + y3 + y1 == qaq) puts("ACC");
		else if(y2 + y1 + y3 == qaq) puts("ACC");
		else if(y3 + y2 + y1 == qaq) puts("ACC");
		else if(y3 + y1 + y2 == qaq) puts("ACC");
		else puts("WA");
 	}
}

题解 CF61B 【Hard Work】

原文:https://www.cnblogs.com/tearing/p/13938383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!