1215: 一道比较水的题

oj

Little A is one member of ACM team. He had just won the gold in World
Final. To celebrate, he decided to invite all to have one meal. As
bowl, knife and other tableware is not enough in the kitchen, Little A
goes to take backup tableware in warehouse. There are many boxes in
warehouse, one box contains only one thing, and each box is marked by
the name of things inside it. For example, if “basketball” is written
on the box, which means the box contains only basketball. With these
marks, Little A wants to find out the tableware easily. So, the
problem for you is to help him, find out all the tableware from all
boxes in the warehouse.

Little A是ACM团队的一员。他刚刚在世界决赛中获得金牌。为了庆祝,他决定邀请所有的人吃一顿饭。由于厨房里的碗、刀等餐具不够用,小A去仓库拿备用餐具。仓库里有很多箱子,一个箱子里只装一件东西,每个箱子都标有里面物品的名称。例如,如果盒子上写着“篮球”,这意味着盒子里只有篮球。有了这些标记,小A想要很容易找到餐具。所以,你的问题是帮助他,从仓库的所有盒子里找出所有的餐具。

输入

There are many test cases. Each case contains one line, and one
integer N at the first, N indicates that there are N boxes in the
warehouse. Then N strings follow, each string is one name written on
the box.

有许多测试用例。每个case包含一行,前面有一个整数N, N表示仓库中有N个箱子。然后是N个字符串,每个字符串是一个写在盒子上的名字。

输出

For each test of the input, output all the name of tableware.

对于每次测试的输入,输出所有餐具的名称。

样例输入 Copy

3 basketball fork chopsticks 
2 bowl letter

样例输出 Copy

fork chopsticks
bowl

提示

The tableware only contains: bowl, knife, fork and chopsticks

餐具只包括:碗、刀、叉和筷子

#include <stdio.h>
#include <string.h>

int main() {
	int n = 0;
	char str[100] = { 0 };
	//记录四种餐具
	char s[4][20] = { "bowl","knife","fork","chopsticks" };
	while (scanf("%d", &n) != EOF) {
		getchar();
		//对每个n,四种餐具如果出现多次则只输出一次
		int flag[4] = { 0 };
		int i = 0;
		for (i = 0; i < n; i++) {
			scanf("%s", str);
			int j = 0;
			for (j = 0; j < 4; j++) {
				if (strcmp(str, s[j]) == 0 && flag[j] == 0) {
					printf("%s ", str);
					flag[j] = 1;
					continue;
				}
			}
		}
		printf("\n");
	}
	return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

re怠惰的未禾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值