UPC:2226 Contest Print Server(模擬)

題意:模擬。

思路:注意比較坑的地方。如果Team1請求打印,而此時計數達到s,那應該先輸出一個Team1 request 0 pages

#include <iostream>
#include <vector>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int n,s,x,y,mod;
        scanf("%d%d%d%d%d",&n,&s,&x,&y,&mod);
        int rest=s;
        while(n--)
        {
            char team[30];
            int need;
            scanf("%s request %d pages",team,&need);
            while(true)
            {
                if(need<=rest)
                {
                    printf("%d pages for %s\n",need,team);
                    rest-=need;
                    break;
                }
                else
                {
                    printf("%d pages for %s\n",rest,team);
                    rest=0;
                }
                if(rest==0)
                    rest=s=(s*x+y)%mod;
            }
        }
        printf("\n");
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章