首页 > 代码库 > SDUT OJ 之 1571 《人品,有没有?》 字符串的处理问题

SDUT OJ 之 1571 《人品,有没有?》 字符串的处理问题

人品,有木有?

Time Limit: 1000ms   Memory limit: 32768K  有疑问?点这里^_^

题目描述

       新一届的山东理工大学ACM网络擂台赛就要开始啦!听说晋级的选手有机会参加现场赛拿奖呢!闻讯好多同学报了名。作为比赛的组织者和命题者,我们当然希望更多的同学能够加入到这样的竞赛中来,第一可以自知,第二可以知人,说白了就是知己知彼,看看你编程的水平在学校范围内算是哪个层次。

       但是歪风时常有,今年特别多啊。就是有些孩子不听话,没有人品,把考试中作弊的歪风带到了比赛中来,影响了比赛的公平性。只想问一句:人品,有木有?


 

       但我们也不是傻子,大家应该知道管理员可以随时查阅参赛同学的代码的,另外我们也会百度。所以,有情况的同学们,我们知道,你们懂得。人品有问题的人是没有机会入选集训队的,也是没有能力夺得冠军的。只希望大家能够正视这种不正之风,无论学什么都要用一颗诚挚的心去面对,严谨而不浮躁,不然大学上也白上,徒增了一些年龄而已。

       回归正题,我们是通过一个专门判断程序,来检测某些人的代码是否是相似甚至相同的,以及是否是跟网上的代码一样的。今天交给同学们的任务简单一些,只需要判断两段代码是否相同(相同的意思就是完全一样)就OK了,注意注释和空行不算在内。

 

输入

       输入仅包含一组数据。两端代码,每段代码有多行,代码中可能有空格换行,每行代码长度不超过100个字符,每段代码不超过100行。两段代码用@@@@@@分割,数据保证代码中其他地方不会出现用来分隔的串@@@@@@,保证注释都是以//开始的独占一行的。

输出

       只有一行。如果两段代码相同则输出Yes,否则输出No。

示例输入

//张三的代码#include<stdio.h>int main(){printf(“I’m Zhansan!\n”);return 0;}@@@@@@//李四的代码#include<stdio.h>int main(){//不得不说李四同学,貌似没有改动什么。printf(“I’m Zhansan!\n”);return 0;}

示例输出

Yes

Accepted的代码:
#include <iostream>#include <string>#include <cstdio>#include <cstring>#include <stdlib.h>#include <queue>#include <stack>#include <math.h>#include <algorithm>using namespace std;int main(){    char s[150], t[15000];    char dd[15000];    memset(t, ‘\0‘, sizeof(t));    memset(dd, ‘\0‘, sizeof(dd));    gets(s);    while(strcmp (s, "@@@@@@")!=0 )    {        if(s[0]==‘/‘ && s[1]==‘/‘ )        {            gets(s);        }        else        {            strcat(t, s);            gets(s);        }    }    while( gets(s)!=NULL )  //最后由 Ctrl + Z键 结束输入!    {        if(s[0]==‘/‘ && s[1]==‘/‘ )        {            continue;        }        else        {            strcat(dd, s);        }    }    if(strcmp(t, dd)==0)    {        cout<<"Yes\n";    }    else    {        cout<<"No\n";    }    return 0;}

 


SDUT OJ 之 1571 《人品,有没有?》 字符串的处理问题