本文主要是介绍Sins of a Solar Empire P7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
★实验任务正如你所知道的 s_sin 是一个贪玩的不得了的小 P 孩( 如果你非常讨厌他可以直接跳到
第二段),你也知道他最近很喜欢玩一个叫做太阳帝国的原罪的策略游戏我向你保证这是太
阳帝国原罪系列的第七章了。
现在 s_sin 拥护 N 个星球,每个星球 m 种不同的资源,每个资源都拥有一个编号 A, 对
于 s_sin 来说 N 个星球都有的资源才是最宝贵的,他想知道这样的资源有哪些?
★数据输入
第 1 行是正整数 N( 1<=N<=1000)。 第 2~N+1 行各有一个正整数 m 和 m 个正整数编号
A(有重复), ( 0<m<=1000, 0 <= A <=10^9) .
★数据输出
第一行一个整数 S,表示 N 个星球都拥有的资源个数。
如果 S 不等于 0 输出第二行, 按照升序输出 S 个整数表示资源编号(无重复), 资源编号之间有空格,结尾没有空格。
输入示例
4
2 2 4
2 2 4
3 2 2 4
4 2 3 4 5
1
5 1 2 3 1 2
2
1 2
1 3
输出示例
2
2 4
3
1 2 3
0
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{ int number[1016],shu[1016]; int i,r,j,n,m; int M,q; int d=0; scanf("%d",&n); scanf("%d",&m); for(j=1;j<=m;j++) { scanf("%d",&number[j]); for(r=1;r<j;r++) { if(number[r]==number[j]){ j--;m--; break;} } q=m; } sort(number+1,number+m+1); for(i=2;i<=n;i++) { scanf("%d",&M); for(j=1;j<=M;j++) scanf("%d",&shu[j]); for(j=1;j<=m;j++) { if(number[j]!=-1) { for(d=0,r=1;r<=M;r++) { if(number[j]==shu[r]){ d=1; break;} } if(d==0){ number[j]=-1; q--; } } } } if(q!=0) { printf("%d\n",q); for(i=1;i<=m;i++) { if(number[i]!=-1)break; } printf("%d",number[i]); for(i=i+1;i<=m;i++) if(number[i]!=-1) printf(" %d",number[i]); printf("\n"); } else printf("0\n"); return 0;
}
这篇关于Sins of a Solar Empire P7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!