HDU 2246 HDOJ 2246 考研路茫茫——考试大纲 ACM 2246 IN HDU

本文介绍了一道关于考研大纲的编程题,题目要求读取压缩包内的特定文件并输出其内容。通过二分查找确定题号,并采用进制转换的方法解决长度限制问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MiYu原创, 转帖请注明 : 转载自 ______________白白の屋    

 

题目地址:

http://acm.hdu.edu.cn/showproblem.php?pid=2246

题目描述:

考研路茫茫——考试大纲

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 165    Accepted Submission(s): 22


Problem Description
等啊等啊等,各位考研仔终于等来了考研大纲。于是Yueyue马上打开电脑,在某不知名的网站上下载了一个压缩包,没想到一解压缩再一双击,电脑就中毒了。

这下把Lele吓怕了,因为他也在另一个不知名网站上下载了一个压缩包(你可以从这个链接得到这个压缩文件  http://acm.hdu.edu.cn/data/images/C140-1007-1.rar ),不过他还是不敢打开。

于是他来向你求救,让你告诉他压缩包里某个文件的内容。
 

Input
本题目只包含一组测试数据。
第一行有一个整数N(0<=N<30)。
 

Output
请你原样输出压缩包中 N.txt 这个文件里的内容。
 

Sample Input

    
0
 

Sample Output

    
20080813
 

 

 

题目分析 :

传说中的神题???     表示 JAVA 水过...............   因为题目说了, 只有一组数据, 所以只需要错几次  二分找出正确的题号就行了,当然, 直接复制肯定是

不行的, 长度限制了不能超过 64KB, 所以需要转换一下进制., 压缩一下.

Accepted2246156MS7708K57752 BJava

 

代码太长了..............................................

 付部分代码 :

ExpandedBlockStart.gif 代码
" sxfymql8vw7bsni2nqcchhnxctwcxjuj1k7ws7sa1lullc8lz6p " ,
" 1dgxdizjmtjv2tr8bnzvltaxg2s16675wj449xt2zyad4r8d1zsd " ,
" gfxxlupmljai67xjkyg5e6updgnax20o4iyip0fbfinfayl846d " ,
" jwr3qnlezlxf2s5thstyyvie04qm4xolvhtr3m3nszvgf0j3r38 " ,
" 42t6a9akoq09qxc5ou115yawgzog7gax03ep5g17851x2r3mc56v " ,
" 35bcqtjy2qlrn1ed6ux1ngu5igde8nbu2tinx8rq8te4rmhd1d06 " ,
" 3o7bwhwvjupqy61nrls525fyxpzyqxa5k7vbw59f1ffbmvlabad9 " ,
" 4et0rntlhxboyb556vzqlx5ni8a1n8wh674cubs9yi1fcn27ar6 " ,
" 70sky015q9ks1rg5a5j297q8j3kn3oc53wveah0y6497vf7rzho " ,
" yg24djaywui0aggybwu5r5xb3t5g8kahs5hjfjdy207d8mktsht " ,
" 1lk25n0fm9j1twu0dcdhdeof4nqcxubzgznsmprzp2jhdmthnrdi " ,
" 37nfe1fiuyo6g75tak1qy8nwdnk4gxidew1w4fv6oolk0i395cb3 " ,
" glhllsd7zl54bo85f3na9swfj2csuhlitalli9u17cii3ut0mr " };
        
int  i ;

       
//  PrintWriter out = new PrintWriter(new FileWriter("F:\\OOO.TXT"));
         for (i  =   0  ; i  <   999  ; i ++ )
        {
            BigInteger aa 
=   new  BigInteger(s[i], 36 );
            String oo 
=  aa.toString();
            
int  len  =  oo.length();
            
if (len < 80 )
            {
                
int  nn  =   80 - len;
                
while ((nn -- ) > 0 )
                    System.out.print(
" 0 " );
                System.out.println(oo);
            }
            
else  System.out.println(oo);
        }
    }

}

 

 

 

转载于:https://www.cnblogs.com/MiYu/archive/2010/10/07/1845053.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值