Contest Print Server组队第四场J

问题 J:Contest Print Server
时间限制: 1 Sec 内存限制: 128 MB

题目描述
In ACM/ICPC on-site contests ,3 students share 1 computer,so you can print your source code any time. Here you need to write a contest print server to handle all the requests.

输入
In the first line there is an integer T(T<=10),which indicates the number of test cases.

In each case,the first line contains 5 integers n,s,x,y,mod (1<=n<=100, 1<=s,x,y,mod<=10007), and n lines of requests follow. The request is like “Team_Name request p pages” (p is integer, 0

You can get more from the sample.

输出
Every time a request is completed or the printer is break down,you should output one line like “p pages for Team_Name”,p is the number of pages you give the team “Team_Name”.

Please note that you should print an empty line after each case.

样例输入 Copy
2
3 7 5 6 177
Team1 request 1 pages
Team2 request 5 pages
Team3 request 1 pages
3 4 5 6 177
Team1 request 1 pages
Team2 request 5 pages
Team3 request 1 pages
样例输出 Copy
1 pages for Team1
5 pages for Team2
1 pages for Team3

1 pages for Team1
3 pages for Team2
5 pages for Team2
1 pages for Team3

题意是:有一台打印机,打印的时候如果累计打印到 s 张还没有将当前任务打印完,那么就会重新打印着一份文件,在此之前 s 会重新生成一个,生成的方式是== s = (s * x + y) % mod; ==
代码没什么东西,但是有一个坑点,虽然开始输入的 s 是一个>=1的数,但是如果重新生成的s为0的话,就会再次重新生成一个 s
code:

int T = read;
    while(T--){
     
        n=read,s=read,x=read,y=read,mod=read;int sy=s;
        for(int i=1;i<=n;i++){
     
            char s1[50],s2[50],s3[50];
            int tot;
            scanf("%s%s%d%s",s1,s2,&tot,s3);
            if(tot<=sy){
     
                printf("%d pages for %s\n",tot,s1);
                sy -= tot;
            }else{
     
                while(1){
     
                    if(tot <= sy){
     
                        printf("%d pages for %s\n",tot,s1); sy-=tot;
                        break;
                    }else{
     
                        printf("%d pages for %s\n",sy,s1); s=fun();
                        if(s==0) s=(s*x+y)%mod;
                        sy=s;
                    }
                }
            }
        }
        puts("");
    }

你可能感兴趣的:(细节害死人)