两个学生OJ差集


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


在我们学校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]);
        }
}

截 图 :


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




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




运行便可得到结果<<


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

posted @ 2016-02-07 14:42  小坏蛋_千千  阅读(165)  评论(0编辑  收藏  举报