这个程序非常简单,因为用了最笨的办法,不过运行一点儿也不慢。。。




在我们学校OJ平台每个人的个人信息中都有Solved Problems List,我们可以用这个简单的程序输入两个人解决问题的所有题号,然后运行得出其他人比你多做了那些题,或许这些题目之中就有很简单的哦!

好了,不多说了,下面贴上代码:



迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include <fstream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cstdio>
using namespace std;
int findd(int *a,int b,int l)
{
for(int i=0; i<l; i++)
if(a[i]==b)return 1;
return 0;
}
int main()
{
int a[2000]= {0},i,k,l;
int b[2000]= {0};
cout<<"请输入学生<1> OJ 所有解决题目序号"<<endl;
for(i=0; ~scanf("%d",a+i); i++);
l=i;
cout<<"请输入学生<2> OJ 所有解决题目序号"<<endl;
for(i=0; ~scanf("%d",b+i); i++);
k=i;
cout<<"学生<2>比学生<1>多做了"<<endl;
for(int i=0,w=0; i<k; i++)
if(findd(a,b[i],l)==0)
{
w++;
printf(w%10!=0?"%d ":"%d\n",b[i]);
}
cout<<endl<<"学生<1>比学生<2>多做了"<<endl;
for(int i=0,w=0; i<l; i++)
if(findd(b,a[i],k)==0)
{
w++;
printf(w%10!=0?"%d ":"%d\n",a[i]);
}
}


截 图 :

两个学生OJ差集_oj平台

复制上面红框里面的信息作为输入>>



两个学生OJ差集_#include_02

再输入第二个学生的信息>>



两个学生OJ差集_oj平台_03

运行便可得到结果<<


--------------------------------------------------------- E N D ---------------------------------------------------------