1035 - 晚餐
时间限制 : 1 秒
内存限制 : 32 MB
小明请好朋友们来家里吃晚饭,但是厨房里的餐具不够了,于是小明到仓库里找新餐具。仓库里的东西都是装在一个个箱子里,箱子上面写着里面装的什么东西,现在小明想请你帮忙找出这些装餐具的箱子。
题目中的餐具只包含:碗(bowl),刀(knife),叉(fork),筷子(chopsticks)。
题目输入
输入包含多组测试数据。每组先输入一个整数N,表示仓库里有N个箱子。
然后输入N个字符串,分别表示箱子里装的是什么东西。
题目输出
对于每组输入,输出仓库里所有餐具的名字。
输入/输出样例
输入格式
3 basketball fork chopsticks 2 bowl letter
输出格式
fork chopsticks bowl
C语言解答
#include<stdio.h> #include<string.h> char tw[4][15]={"bowl","knife","fork","chopsticks"}; int main() { int n,i,c; char s[15]; while(scanf("%d",&n)!=EOF) { c=0; while(n--) { scanf("%s",s); for(i=0;i<4;i++) if(!strcmp(s,tw[i])) { c++; if(c==1) printf("%s",s); else printf(" %s",s); break; } } printf("\n"); } return 0; }
C++解答
#include<stdio.h> #include<string.h> char tw[4][15]={"bowl","knife","fork","chopsticks"}; int main() { int n,i,c; char s[15]; while(scanf("%d",&n)!=EOF) { c=0; while(n--) { scanf("%s",s); for(i=0;i<4;i++) if(!strcmp(s,tw[i])) { c++; if(c==1) printf("%s",s); else printf(" %s",s); break; } } printf("\n"); } return 0; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); final String[] cooks = {"bowl", "knife", "fork", "chopsticks"}; while(in.hasNext()){ int n = in.nextInt(); String[] ss = new String[n]; StringBuffer sb = new StringBuffer(); for(String s:ss){ s = in.next(); for(String tem:cooks) if(s.equals(tem)) sb.append(" ").append(s); } System.out.println(sb.toString().substring(1)); } } }
Python解答
import sys T = ['bowl','knife','fork','chopsticks'] for line in sys.stdin: data = line.split() B=map(lambda x:x if x in T else '',data) print (' '.join([i for i in B])).strip()