• #9. 【UTR #1】vfk的数据


                                                #9. 【UTR #1】vfk的数据

    UOJ上,由于一群人开心的在hack着,有的题的测试数据都有1000010000组了!

    为了处理这些数据,vfk决定把这道题所有输入数据都弄出来,每个数据给个编号,比如uoj1.inuoj1.in, uoj2.inuoj2.in。

    这些编号是随机的,可以不连续,比如三组数据分别叫uoj1.inuoj1.in, uoj100.inuoj100.in, uoj2014.inuoj2014.in。

    输入数据的文件名一定是:题目名 + 数据编号 + ".in.in"。

    vfk要你把这些输入文件按数据编号进行排序,之后用在线仙人球嵌套动态网络路径剖分优化的分支定界贪心剪枝启发式迭代加深人工智能搜索决策算法解决问题。

    输入格式

    第一行一个正整数nn,表示输入文件的个数。

    接下来nn个字符串表示每个输入文件的文件名,形如: 题目名 + 数据编号 + ".in.in",保证:

    1. 数据编号一定是正整数且不包含前导零。
    2. 数据编号一定互不相同。
    3. 题目名仅包含大小写字母和下划线。
    4. 所有输入文件的题目名完全一致。
    5. 特别的,如果是像1.in1.in, 2.in2.in这种,我们认为题目名为空,也是允许的

    输出格式

    nn行,每行一个字符串,表示排序的结果。

    样例一

    input

    8
    dajiahaowoshiyangli9.in
    dajiahaowoshiyangli5.in
    dajiahaowoshiyangli2.in
    dajiahaowoshiyangli1.in
    dajiahaowoshiyangli3.in
    dajiahaowoshiyangli7.in
    dajiahaowoshiyangli6.in
    dajiahaowoshiyangli8.in
    
    

    output

    dajiahaowoshiyangli1.in
    dajiahaowoshiyangli2.in
    dajiahaowoshiyangli3.in
    dajiahaowoshiyangli5.in
    dajiahaowoshiyangli6.in
    dajiahaowoshiyangli7.in
    dajiahaowoshiyangli8.in
    dajiahaowoshiyangli9.in
    
    

    样例二

    见样例数据下载。

    限制与约定

    测试点编号nn的规模
    1~5 n100n≤100
    6~10 n10000n≤10000

    保证每个字符串的长度小于等于100100。

    时间限制1s1s

    空间限制256MB

    字符串水题 

    第一次 只考虑个位数 -->WA

    第二次 数字没有反转 -->WA

    第三次 只用int存储 -->WA

    第四次 18743.in 这样的情况 没有计算第一个数字 -->WA

    第五次 AC

    我好弱啊!

     1 #include <cstdio>
     2 #include <cctype>
     3 #include <cstring>
     4 #include <algorithm>
     5 
     6 const int MAXN=10010;
     7 
     8 int n,len;
     9 
    10 struct node {
    11     char s[1010];
    12     int id[110];
    13     friend bool operator < (node a,node b) {
    14         if(a.id[0]!=b.id[0]) return a.id[0]<b.id[0];
    15         for(int i=a.id[0];i>=1;--i)
    16           if(a.id[i]<b.id[i]) return true;
    17           else if(a.id[i]>b.id[i]) return false;
    18         return true;
    19     }
    20 };
    21 node e[MAXN];
    22 
    23 inline void cal(int num) {
    24     int i=4;
    25     while((len-i)>-1&&isdigit(e[num].s[len-i])) {
    26         e[num].id[++e[num].id[0]]=e[num].s[len-i]-48;
    27         ++i;
    28     }
    29 }
    30 
    31 int hh() {
    32 //    freopen("1.out","w",stdout);
    33     scanf("%d",&n);
    34     for(int i=1;i<=n;++i) {
    35         scanf("%s",e[i].s);
    36         len=strlen(e[i].s);
    37         cal(i);
    38     }
    39     std::sort(e+1,e+1+n);
    40     for(int i=1;i<=n;++i) printf("%s
    ",e[i].s);
    41     return 0;
    42 }
    43 
    44 int sb=hh();
    45 int main(int argc,char**argv) {;}
    代码


    作者:乌鸦坐飞机
    出处:http://www.cnblogs.com/whistle13326/
    新的风暴已经出现 怎么能够停止不前 穿越时空 竭尽全力 我会来到你身边 微笑面对危险 梦想成真不会遥远 鼓起勇气 坚定向前 奇迹一定会出现

     
  • 相关阅读:
    对于服务器AdminServer, 与计算机Machine-0相关联的节点管理器无法访问
    C语言面试题目之指针和数组
    Go数据类型之基本数据类型
    【转载】虚拟地址与虚拟内存的理解
    const变量可以修改么?
    【转载】内联函数 —— C 中关键字 inline 用法解析
    【转载】抓包工具tcpdump用法说明
    【转载】网络编程面试题
    [leetcode]颠倒整数
    [leetcode]反转字符串
  • 原文地址:https://www.cnblogs.com/whistle13326/p/7506734.html
Copyright © 2020-2023  润新知