zoj 1143 && poj 1044 Date bugs ------模拟!

来源:互联网 发布:传奇人物数据保存失败 编辑:程序博客网 时间:2024/06/12 01:07

题意:(真的好难懂啊。。。。反正我是没懂,小伙伴们都懂了= =,最后问了下题意)

1、计时器有BUG,只能显示ai到bi之间包括ai,bi的年份。

 比如1941 1900 2000
         yi      ai      bi
就表示这个计算机只能显示1900到2000的年份
如果超过了2000就变成1900


比如2141在上面就显示1941


已知n个计数器上显示的年份和他们有BUG后能显示的范围,现在真是的年份是多少,推不

出来就输出Unknown bug detected


分析:

1、其实就是N个以yi为首元素且末元素不大于10000的等差数列组成的集合,求它们的交集。

但是如果不转换思维两两求交集不仅不好实现也很麻烦。

2、如果开个0---10000的数组,可能是这个年份就计数+1,只要最后年份计数为n,证明n个计时器都可能

出现即它是n个集合的交集,即为所求。


要转换思维!!!!


#include<cstdio>#include<cstring>using namespace std;int a[25],b[25],y[25],x[10000];int main(){    int n,cas=1,flag;    while(scanf("%d",&n)&&n)    {        memset(x,0,sizeof(x));        int minn=0;        flag=0;        for(int i=0;i<n;i++)        {            scanf("%d%d%d",&y[i],&a[i],&b[i]);            b[i]-=a[i];            y[i]=y[i]%b[i];            for(;y[i]<10000;y[i]+=b[i])                x[y[i]]++;            if(a[i]>minn)                minn=a[i];        }        printf("Case #%d:\n",cas++);        for(int i=minn;i<10000;i++)        {            if(x[i]==n)            {                flag=1;                printf("The actual year is %d.\n\n",i);                break;            }        }        if(!flag)            printf("Unknown bugs detected.\n\n");    }    return 0;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 当你烦的时候怎么办 面对刁蛮不讲理的老婆怎么办 老是想以前的事怎么办 被心机婊陷害了怎么办 分手了还被骚扰怎么办 苹果手机屏幕出现冷暖屏怎么办 我感觉媳妇不漂亮怎么办 90后赚不到钱怎么办 处对象感觉好累怎么办 谈朋友感觉好累怎么办 家庭条件不好娶老婆难办怎么办? 异地恋闹矛盾了怎么办 有人威胁要杀我全家怎么办 分手了借我的钱怎么办 脸打架打肿了怎么办 人家不加我qq好友怎么办 一个好友被删了怎么办 dnf脸黑怎么办还有办法 我想登别人微信怎么办 昌硕工资没到怎么办 昌硕离职不批怎么办 昌硕工资不到卡怎么办 上海人去苏州工作社保怎么办 娶个个脾气暴躁的媳妇怎么办 满脸的黑头痘痘怎么办 脚底磨起泡不敢走路怎么办 老婆老是找异性朋友怎么办 喜欢的人有对象怎么办 遇到了更喜欢的怎么办 8岁骨龄11岁怎么办啊 13岁初中生有思想不听话怎么办 交朋友找对象喜欢颜值高的怎么办 儿子找对象不听父母怎么办 缺爱怎么办的搞笑回答 对象说有人追她怎么办 说了一句话媳妇非常生气怎么办 柔顺后头发太臭怎么办 积分兑换手机被骗了怎么办 老板对你的上级不满怎么办 如果老板不给工资怎么办 手机号码被标记为其他公司怎么办?