zoukankan      html  css  js  c++  java
  • HDU

    在比特镇举行的中国大学生程序设计竞赛CCPC(China Collegiate Programming Contest)开始啦!这次比赛中加入了现场视频直播,而在直播屏幕的左下角,会显示评测队列。

    比特镇的科技水平并不发达,直播分辨率并不高。准确地说,每个评测记录将被显示在11 行3838 列的像素格上。一条评测记录由44 个部分组成,从左往右依次为排名(33 像素),队名(1616 像素),题号(44 像素),评测情况(1212 像素)。相邻两个部分之间由11 像素的分隔线|| 分开。其中,排名右对齐显示,队名左对齐显示,长度不足时用空格补齐。题号一定是44 位正整数,因此恰好占据44 像素。评测情况则比较复杂,它由两侧的括号[][] 以及中间1010 像素组成。

    样例第一行表示排名第1919 的队伍qqqqq_University提交了题目10011001 ,已经通过了30%30% 的测试点,故左对齐显示33 个X。

    样例第二行表示排名第125125 的队伍quailty_U_2提交了题目10021002 ,评测结果为WA,故居中显示WA,左边留44 像素空格。

    样例第三行需要居中显示TLE,左边同样留44 像素空格。

    样例第四行这支队伍是全场第一个通过10031003 的,故在AC后加上字符∗ 来特殊标注。

    请写一个程序,对于每条评测记录产生直播信息。Input第一行包含一个正整数T(1T1000)T(1≤T≤1000) ,表示评测记录的数量。

    接下来TT 行,每行首先是一个正整数rank(1rank400)rank(1≤rank≤400) ,表示队伍的排名。

    接下来一个长度不超过1616 的字符串SS ,表示队名,SS 仅由大小写字母、数字以及下划线"_"组成。

    接下来一个正整数prob(1001prob1013)prob(1001≤prob≤1013) ,表示题号。

    接下来一个字符串T(T{Running,AC,WA,TLE,MLE,RTE,CE,OLE,PE,FB})T(T∈{Running,AC,WA,TLE,MLE,RTE,CE,OLE,PE,FB}) ,表示评测状态,除RunningRunning 外均表示评测结束。若为RunningRunning ,则还会输入一个正整数p(1p9)p(1≤p≤9) ,表示已经通过了p×10%p×10% 的测试点。若为FBFB ,则表示全场第一个通过该题,应显示ACAC∗ 。
    Output对于每条评测记录,按要求输出一行一个长度为3838 的字符串,即直播显示效果。Sample Input

    5
    19 qqqqq_University 1001 Running 3
    125 quailty_U_2 1002 WA
    4 quailty_U_3 1003 TLE
    1 quailty_U_4 1003 FB
    2 qqqqq 1001 AC

    Sample Output

     19|qqqqq_University|1001|[XXX       ]
    125|quailty_U_2     |1002|[    WA    ]
      4|quailty_U_3     |1003|[    TLE   ]
      1|quailty_U_4     |1003|[    AC*   ]
      2|qqqqq           |1001|[    AC    ]
    #include <cstdio>
    #include <iostream>
    #include <string>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <queue>
    #include <vector>
    #include <map>
    using namespace std;
    
    int t, ran, prob, p;
    string s, T;
    
    int main()
    {
        scanf("%d", &t);
        while(t--)
        {
            scanf("%d", &ran);
            cin>>s;
            int len = s.size();
            if(len<16)
                for(int i = len; i<16; i++)
                    s += " ";
            scanf("%d", &prob);
            cin>>T;
            string miao, si;
    //        char miao[18];
            if(T == "Running")
            {
                scanf("%d", &p);
                for(int i = 0; i<p; i++)
                    miao += "X";//后面输出空格
                for(int i = p; i<10; i++)
                    miao += " ";
                }
            else if(T == "FB")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "AC*";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T == "TLE")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "TLE";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T == "AC")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "AC";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T== "WA")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "WA";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T== "MLE")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "MLE";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T== "RTE")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "RTE";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T== "CE")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "CE";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T== "OLE")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "OLE";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            else if(T== "PE")
            {
                for(int i = 0; i<4; i++)
                    si += " ";
                si += "PE";
                int le = si.size();
                for(int i = le; i<10; i++)
                    si +=" ";
            }
            if(ran/100 == 0)//输出排名
            {
                printf(" ");
                if(ran/10 == 0)
                    printf(" ");
            }
            printf("%d|", ran);
            cout<<s<<"|";
            printf("%d|[", prob);
            if(T == "Running")//输出状态
            {
                cout<<miao<<"]"<<'
    ';
            }
            else
            {
                cout<<si<<"]"<<'
    ';
            }
        }
        return 0;
    }
  • 相关阅读:
    Mybatis- 动态sql总结
    Mybatis- 映射文件标签总结
    mybatis全局配置文件标签

    环形链表介绍和约瑟夫环
    MyBatis入门 + 接口式编程(idea实现)
    尚硅谷 mybatis
    Android 开发中使用 SQLite 数据库
    DDMS中File Explorer无法查看data/data文件解决办法
    ANDROID 自动生成动态表格for
  • 原文地址:https://www.cnblogs.com/RootVount/p/10886906.html
Copyright © 2011-2022 走看看