??xml version="1.0" encoding="utf-8" standalone="yes"?>国产99久久久久久免费看,久久精品国产99久久无毒不卡,激情久久久久久久久久http://www.shnenglu.com/cstudy/category/1225.htmlzh-cnTue, 20 May 2008 07:56:45 GMTTue, 20 May 2008 07:56:45 GMT602006癑ֺ之星设计大赛题目http://www.shnenglu.com/cstudy/archive/2007/06/12/26134.html我爱C我爱CTue, 12 Jun 2007 04:11:00 GMThttp://www.shnenglu.com/cstudy/archive/2007/06/12/26134.htmlhttp://www.shnenglu.com/cstudy/comments/26134.htmlhttp://www.shnenglu.com/cstudy/archive/2007/06/12/26134.html#Feedback0http://www.shnenglu.com/cstudy/comments/commentRss/26134.htmlhttp://www.shnenglu.com/cstudy/services/trackbacks/26134.html1.癑ֺ语言译?/span>

癑ֺ的工E师们是非常注重效率的,在长期的开发与试q程中,他们逐渐创造了一套独特的~略语。他们在qx的交谈、会议,甚至在各U技术文档中都会大量q用?/span>

Z让新员工可以更快地适应癑ֺ的文化,更好地阅d司的技术文,人力资源部决定开发一套专用的译pȝQ把相关文中的~略语和专有名词译成日常语a?/span>

输入要求Q?/span>
输入数据包含三部分:
1.
W一行包含一个整?span>N(N<=10000)
Q表Cd有多个~略语的词条Q?span>
2. 紧接着?span>N行的输入Q每行包含两个字W串Q以I格隔开。第一个字W串为羃略语Q仅包含大写英文字符Q长度不过10字节Q,W二个字W串为日常语aQ不包含I格Q长度不过255字节Q;
3.
从第N+2开始到输入l束为包含羃略语的相x档(总长度不过1000000个字节)。例Q?span>
6
PS 门户搜烦?span>
NLP 自然语言处理
PM
产品市场?span>
HR 人力资源?span>
PMD 产品推广?span>
MD 市场发展?span>
癑ֺ的部门包?span>PSQ?span>PMQ?span>HRQ?span>PMDQ?span>MD{等Q其?span>PSq包?span>NLP组?span>
样例Q?span>in.txt

输出要求Q?/span>
输出羃略语转换成日常语a后的文。(羃略语转换成日常语aQ其他字W保留原P。例Q?span>
癑ֺ的部门包括门h索部Q品市场部Qh力资源部Q品推qKQ市场发展部{等Q其中门h索部q包括自然语a处理组?span>
样例Q?span>out.txt

2.饭团的烦?/span>

午餐饭团是百度内部参与h数最多的民间l织?span>
同一个部门的、同一所大学的、同一q出生的、用同一U型L脑的员工们L以各U理ql各U长期的、时的饭团?/span>

参加饭团Q不仅可以以优惠的h格尝到更加丰富的菜式Q还可以在吃饭的时候和同事们增q感情?span>
但是Q随着癑ֺ的员工越来越多,各个饭团的管理变得繁杂v来。特别是Z照顾员工们越来越挑剔的胃Q饭团的点菜负责人的压力也越来越大。现在,q个d׃l?span>“癑ֺ之星了,因ؓQ你要为所有的癑ֺ饭团设计一个自动点菜的法?/span>

饭团点菜的需求如下:
1
Q经是我们要考虑的一个因素,既要充分利用癑ֺ员工的午补助,又不能铺张浪贏V因此,我们希望最后的人均费用接q?span>12
元越好?span>
2Q菜式丰富是我们要考虑的另一个因素。ؓ单v见,我们各U菜肴的属性归lؓ荤菜Q素菜,辛GQ清淡,q且每个菜只能点一ơ?span>
3Q请谨记Q?/span>癑ֺ饭团在各大餐馆n?span>8折优?/span>?/span>

输入要求Q?/span>
1
Q输入数据第一行包含三个整?span>NQ?span>MQ?span>K(0<N<=16Q?span>0<M<=NQ?span>0<K<=12)Q分别表C单上菜的数目Q饭团需要点的菜的数目,餐的h敎ͼ
2
Q紧接着N行,每行的格式如下:
菜名Q长度不过20个字W) hQ原P整数Q是否荤菜(1表示是,0表示否) 是否辛GQ?span>1表示是,0表示否)Q?span>
3Q第N+2行是 a b c d 四个整数Q分别表C需要点的荤菜,素菜Q辛辣,清E菜的数目。例Q?span>
3 2 2
水煮?span> 30 1 1
口水?span> 18 1 1
清炖豆腐 12 0 0
1 1 1 1
样例Q?span>in.txt

输出要求Q?/span>
对于每组试数据Q输出数据包?span>M+1行,?span>M行每行包含一个菜名(按菜名在原菜单的序排序Q。第M+1行是人均消费Q结果保留两位小数。例Q?span>
口水?span>
清炖豆腐
12.00
样例Q?span>out.txt

3.变态比赛规?/span>

Z促进各部门员工的交流Q百度D办了一场全公司范围内的拳皇Q百度内部最行的格斗游戏)友谊赛,负责l织q场比赛的是癑ֺ的超U?span>“拳皇q?span>W.Z?span>W.Z不想用传l的淘汰赛或者@环赛的方式,而是自己制定了一个比赛规则?/span>

׃一些员工(比如同部门或者相邻部门员工)qx接触的机会比较多Qؓ了促q不同部门之间的交流Q?span>W.Z希望员工自由分组。不同组之间的每两个人都会进行一场友谊赛而同一l内的h之间不会打Q何比赛?/span>

比如4个hQ编号ؓ1~4,如果分ؓ两个lƈ?span>1Q?span>2一个组Q?span>3Q?span>4一个组Q那么一共需要打四场比赛Q?span>1 vs 3Q?span>1 vs 4Q?span>2 vs 3Q?span>2 vs 4。而如果是1Q?span>2Q?span>3一l,4单独一l,那么一共需要打三场比赛: 1 vs 4Q?span>2 vs 4Q?span>3 vs 4?/span>

很快W.Z意识刎ͼq样的比赛规则可能会让比赛的场数非常多?span>W.Z想知道如果有N个hQ通过上面q种比赛规则QL赛场数有可能?span>K场吗Q比?span>3个hQ如果只分到一l则不需要比赛,如果分到两组则需?span>2场比赛,如果分ؓ三组则需?span>3场比赛。但是无论怎么分都不可能恰需?span>1场比赛?/span>

怿作ؓ~程高手的你一定知道该怎么回答q个问题了吧Q那么现在请你帮?span>W.Z吧?/span>

输入要求Q?/span>
每行Zl数据,包含两个数字 N, K(0<N<=500, K>=0)。例Q?span>
2 0
2 1
3 1
3 2
样例Q?span>in.txt

输出要求Q?/span>
对输入的N,K 如果N个员工通过一定的分组方式可以使比赛场数恰好ؓKQ则输出"YES"Q否则输?span>"NO"Q请全部使用大写字母Q,每组数据占一行。例Q?span>
YES
YES
NO
YES
样例Q?span>out.txt

4.蝈蝈计分

蝈蝈朋友刚刚学会了0~9q十个数?span>,也跟爸爸妈妈来参加百度每周进行的毛球活动。但是他q没有球拍高Q于是大Z叫他记录分数。聪明的蝈蝈发现只要记录q箋得分的情况就可以了,比如?span>“3 2 4”可以表示一方在q一局中连得三分后Q输了两分,接着又连得到四分。可是,后来大h们发现蝈蝈只会用0~9q十个数字,所以当比赛选手得分过9的时候,他会用一?span>X来表C?span>10完成记分。但问题是,当记录ؓ“X 3 5”的时候,蝈蝈自己也记不v来是一方连l得到十三分后,再输五分Q还是先赢十分输三分再赢五分?/span>

因ؓ癑ֺ内部p开始进行羽毛球联赛了,要先摸清大家的实力才好分l比赛呢~于是,大h们想知道以前每局的比分是怎样的,以及谁获得了胜利。要是遇CҎ比赛记录无法认比赛q程的情况,也要输出相应的提C哦?/span>

需要进一步说明的是,比赛是五局三胜的,每局先获得二十一分的Q但是胜方必领先对手两分或以上Q否则必ȝl比赛直C方超出对手两分ؓ止,比分多的一方获胜。Q何一方先莯三局后就获得最l胜利,比赛也相应的l束。而且蝈蝈保证?/span>完整的无多余信息?/span>记录了比赛?/span>

输入要求Q?/span>
1
Q文件中W一行只有一个整?span>MQ表C蝈记录了多少场比赛的分数Q?span>
2Q在接下来的2M行里Q每场比赛用两行记录Q第一行是一个整?span>N(N<=1000)表示当前q个记录中有多少个字W,W二行就是具体的N个字W表C录的分数Q相dW用I格隔开Q。例Q?span>
3
23
9 7 3 6 2 4 7 8 3 2 7 9 X 2 2 1 2 1 X 1 X 1 1
25
9 3 8 5 4 8 3 9 8 4 X X X X 2 X X X X 2 8 4 9 2 4
43
7 7 7 7 7 3 4 5 6 7 6 5 4 2 1 3 5 7 9 7 5 3 1 3 0 9 9 3 9 3 2 1 1 1 5 1 5 1 5 1 5 5 1
样例Q?span>in.txt

输出要求Q?/span>
对应每一个分数记录,输出相应的每局分数Q每局分数都用两个整数表C,表示两个选手的得分,中间?span>":"分隔开Q每l分数记录间使用一个空行分隔开。如果相应的比赛l果无法预测Q以“UNKNOWN”一个单词独占一行表C(请全部用大写字母)。例Q?span>
21:17
24:22
21:3

UNKNOWN

21:14
20:22
21:23
21:16
21:9
样例Q?span>out.txt

5.座位调整

癑ֺ办公区里到处摆放着各种各样的零食。百度h力资源部的调研发玎ͼ员工如果可以在自己喜Ƣ的食旁边工作Q效率会大大提高。因此,癑ֺ军_q行一ơ员工位的大调整?/span>

调整的方法如下:
1
Q首先将办公区按照各U零食的摆放分成N个不同的区域Q例如:可乐区,饼干区,牛奶区等{)Q?span>
2
Q每个员工对不同的零食区域有不同的喜好程度(喜好E度?span>1~100的整敎ͼ喜好E度大表示该员工越希望被调整到相应的零食区域)Q?span>
3Q由于每个零食区域可以容U的员工数量有限Qh力资源部希望扑ֈ一个最优的调整Ҏ使得ȝ喜好E度最大?/span>

输入要求Q?/span>
文gW一行包含两个整?span>NQ?span>M(N>=1Q?span>M<=300)。分别表C?span>N个区域和M个员工;
W二行是N个整数构成的数列aQ其?span>a[i]表示W?span>i个区域可以容U的员工?span>(1<=a[i]<=MQ?span>a[1]+a[2]+...+a[N]=M)Q?span>
紧接着是一?span>M*N的矩?span>PQ?span>P(i,j)表示W?span>i个员工对W?span>j个区域的喜好E度。例Q?span>
3 3
1 1 1
100 50 25
100 50 25
100 50 25
样例Q?span>in.txt

输出要求Q?/span>
对于每个试数据Q输出可以达到的最大的喜好E度。例Q?span>
175
样例Q?span>out.txt

数据解释Q?/span>
此数据只存在一U安排方法,三个员工分别安置在三个区域。最l的喜好E度?span>100+50+25=175

6.剪刀矛_?/span>

N个小孩正在和你玩一U剪刀矛_布游戏(剪刀赢布Q布赢石_矛_赢剪刀Q?span>N个小孩中有一个是裁判Q其余小孩分成三l(不排除某些组没有M成员的可能性)Q但是你不知道谁是裁判,也不知道孩们的分组情况。然后,孩们开始玩剪刀矛_布游戏,一qMơ,每次L选择两个孩q行一轮,你会被告知结果,即两个小孩的胜负情况Q然而你不会得知孩具体出的是剪刀、石头还是布。已知各l的孩分别只会ZU手势(因而同一l的两个孩M是和局Q,而裁判则每次都会随便选择ZU手势,因此没有Z知道裁判到底会出什么。请你在Mơ剪刀矛_布游戏结束后Q猜猜谁是裁判。如果你能猜是裁判,误明最早在W几ơ游戏结束后你就能够定谁是裁判?/span>

输入要求Q?/span>
输入文g包含多组试数据Q每l测试数据第一行ؓ两个整数N?span>M(1<=N<=500Q?span>0<M<=2000)Q分别ؓ孩的个数和剪刀矛_布游戏进行的ơ数。接下来M行,每行两个整数且中间以一个符号隔开。两个整数分别ؓq行游戏的两个小孩各自的~号Qؓ于N的非负整敎ͼ。符L可能gؓ“=”?span>“>”?span>“<”Q分别表C和局、第一个小孩胜和第二个孩胜三U情c例Q?span>
3 3
0<1
1<2
2<0
3 5
0<1
0>1
1<2
1>2
0<2
4 4
0<1
0>1
2<3
2>3
1 0
样例Q?span>in.txt

输出要求Q?/span>
1
Q每l测试数据输Z行,若能猜出谁是裁判Q则输出裁判的编Pq输出在W几ơ游戏结束后p够确定谁是裁判,孩的编号和游戏ơ数以一个空格隔开Q?span>
2
Q如果无法确定谁是裁判,输出-2Q如果发现剪刀矛_布游戏的胜负情况不合理(x是裁判都会出现矛盾)Q则输出-1。例Q?span>
-2
1 4
-1
0 0

E序之美”-癑ֺ之星E序设计大赛 - 题目
W一题(共四?/span>100分)Q连l正整数Q?/span>10分)
  
题目描述Q?/span>
一个正整数有可能可以被表示?/span>n(n>=2)个连l正整数之和Q如Q?/span>
    15=1+2+3+4+5
    15=4+5+6
    15=7+8
    
L写程序,Ҏ输入的Q何一个正整数Q找出符合这U要求的所有连l正整数序列?/span>
  
输入数据Q?/span>
一个正整数Q以命o行参数的形式提供l程序?/span>
  
输出数据Q?/span>
?/span>
标准输出上打印出W合题目描述的全部正整数序列Q每行一个序列,每个序列都从该序列的最正整数开始、以从小到大的顺序打印。如果结果有多个序列Q按各序
列的最正整数的大从到大打印各序列。此外,序列不允讔R复,序列内的整数用一个空格分隔。如果没有符合要求的序列Q输?/span>“NONE”?/span>
    
例如Q对?/span>15Q其输出l果是:
    1 2 3 4 5
    4 5 6
    7 8
    
对于16Q其输出l果是:
    NONE
  
评分标准Q?/span>
E序输出l果是否正确?/span>
  
W二题(共四?/span>100分)Q重叠区间大(20分)
  
题目描述Q?/span>
L写程序,扑և下面输入数据及格?/span>中所描述的输入数据文件中最大重叠区间的大小?/span>
    
对一个正整数nQ如?/span>n在数据文件中某行的两个正整数Q假设ؓA?/span>BQ之_?/span>A<=n<=B?/span>A>=n>=BQ则n属于该行Q如?/span>n同时属于?/span>i?/span>jQ则i?/span>j有重叠区_重叠区间的大是同时属于?/span>i?/span>j的整C数?/span>
    
例如Q行Q?/span>10 20Q和Q?/span>12 25Q的重叠区间?/span>[12 20]Q其大小?/span>9Q行Q?/span>20 10Q和Q?/span>12 18Q的重叠区间?/span>[10 12]Q其大小?/span>3Q行(20 10)和(20 30Q的重叠区间大小?/span>1?/span>
  
输入数据Q?/span>
E?/span>
序读入已被命名ؓinput.txt的输入数据文本文Ӟ该文件的行数?/span>1?/span>1,000,000之间Q每行有用一个空格分隔的2个正整数Q这2个正整数?/span>
大小ơ序随机Q每个数都在1?/span>2^32-1之间。(Z于调试,您可下蝲试input.txt文gQ实际运行时我们会用不同内容的输入文g。)
  
输出数据Q?/span>
在标准输Z打印入数据文件中最大重叠区间的大小Q如果所有行都没有重叠区_则输?/span>0?/span>
  
评分标准Q?/span>
E序输出l果必须正确Q内存用必M过256MBQ程序的执行旉快好?/span>
  
W三题(共四?/span>100分)Q字W串替换Q?/span>30分)
  
题目描述Q?/span>
L写程序,Ҏ指定的对应关p,把一个文本中的字W串替换成另外的字符丌Ӏ?/span>
  
输入数据Q?/span>
E?/span>
序读入已被命名ؓtext.txt?/span>dict.txt的两个输入数据文本文Ӟtext.txtZ个包含大量字W串Q含中文Q的文本Q以
whitespace
为分隔符Q?/span>dict.txtC字W串Q?/span>s1Q与字符Ԍs2Q的对应关系的另一个文本(含中文)Q大U在1万行左右Q每行两个字
W串Q即s1?/span>s2Q,用一?/span>\t或空格分隔?/span>dict.txt中各行的s1没有排序Qƈ有可能有重复Q这时以最后出现的那次s1所对应?/span>s2为准?/span>
text.txt
?/span>dict.txt中的每个字符串都可能包含?/span>whitespace之外的Q何字W?/span>text.txt中的字符串必ddict.txt
中的?/span>s1完全匚w才能被替换。(Z于调试,您可下蝲试text.txt?/span>dict.txt文gQ实际运行时我们会用不同内容的输入文g。)
  
输出数据Q?/span>
在标准输Z打印text.txt?/span>dict.txt替换后了的整个文本?/span>
  
评分标准Q?/span>
E序输出l果必须正确Q内存用越越好,E序的执行时间越快越好?/span>
  
W四题(共四?/span>100分)Q低频词qoQ?/span>40分)
  
题目描述Q?/span>
L写程序,从包含大量单词的文本中删除出现次数最的单词。如果有多个单词都出现最的ơ数Q则这些单词都删除?/span>
  
输入数据Q?/span>
E序d已被命名?/span>corpus.txt的一个大数据量的文本文gQ该文g包含英文单词和中文单词,词与词之间以一个或多个whitespace分隔。(Z于调试,您可下蝲试corpus.txt文gQ实际运行时我们会用不同内容的输入文g。)
  
输出数据Q?/span>
在标准输Z打印删除?/span>corpus.txt中出现次数最的单词之后的文本(词与词保持原来的序Q仍以空格分隔)?/span>
  
评分标准Q?/span>
E序输出l果必须正确Q内存用越越好,E序的执行时间越快越好?/span>

 

 

W一题(׃?span>100分)站点l计Q?span>50分)

 
题目描述Q?span>
一?span>Internet站点集合Q可以用如下的方式来描述站点和站点之间的链接引用关系Q?span>
   s 1 2 3 4
   1 / 4 0 3
   2 3 / 4 5
   3 2 2 / 2
   4 6 1 4 /
其中?span>s(site)同行和同列的数字都表C站点号Q其他每个数字表CZ个站点到另一个站
点的文本链接数。如果站?span>A有到另一个站?span>B的直接链接或间接Q指通过一个或多个
直接链接Q链接,则称站点A有到站点B的访问关p,或称站点B可以被站?span>A讉K到。例
如,上面描述了一个有4个站炚w接关pȝ站点集合Q第一?span> / 4 0 3 表示站点1到站?span>
1Q?span>2Q?span>3Q?span>4的超文本链接数?span>
L写程?span>:
1Q?一个有N个站点的集合划分成满下面所有条件的站点子集Q这些子集的unionl?span>
成了?span>N个站炚w合)Q?span>
   a) 当Q一子集中的站点数大?span>1Ӟ该子集内臛_存在一个站Ҏ到该子集内所?span>
其他站点的访问关p;
   b)
当Q一子集中的站点数大?span>1Ӟ该子集内的Q一站点臛_可以被该子集内的?span>
一站点讉K刎ͼ
   c)
两个不同子集中的L两个站点之间不存在Q何访问关pR?span>
2Q?裁减q些子集内的站点之间现有的链接关p,使得被裁减后的各子集内的站点依然
可以满上述所有条Ӟ同时使得子集内的站点之间的链接L相加之和为最?span>

假如上面的站炚w合是q?span>N个站炚w合中的一个子集,它满了条ga)Q?span>4可以讉K?span>3Q?span>
也可以访问到2?span>1Q也满了条?span>b)Q站?span>4可以被站?span>3讉K刎ͼ{等。对该站炚w?span>
q行裁减使其仍然满条ga?span>bQƈ使得光接L之和为最的l果为:
   s 1 2 3 4
   1 / 0 0 0
   2 0 / 0 0
   3 2 0 / 2
   4 0 1 4 /
q里Q站?span>4可以讉K到站?span>3?span>2Q站?span>4也可以访问到站点1Q通过站点3间接讉KQ;
此外Q站?span>3可以讉K到站?span>4Q最链接L相加?span>2Q?span>2Q?span>1Q?span>4=9?span>


  输入数据Q?span>
E序d已被命名?span>sites.txt的完全如上所C的N*N矩阵的输入数据文本文ӞN不大?span>
10万(N即ؓ行数和列敎ͼQ输入文件的每一行的列和列之间用一?span>\\t分隔Q行和行?span>
间用\\n分隔?span>
  输出数据Q?span>
按行输出满题目要求的每个子集内的站Ҏ以及裁减后的最链接L之和Q数和数
之间都以一个空格分隔。如上述子集和最链接L为:
1 2 3 4 9
如果输入数据无满题目要求的子集存在Q则输出NONE?span>

评分标准Q?span>
在结果正的前提下,会考虑E序的运行时间。我们会用两个不同的输入数据文gQ一
个简单一个复杂)q行试Q简单的输入数据产生的程序输出结果如果正,莯题满
分的30%?span>15分(不处理运行时_除非因程序错误引L时q行Q;复杂的输入数?span>
产生的程序输出结果如果正,?span>50%?span>25分,q行旉满分?span>20%?span>10分,按各自程?span>
的运行时间在所有参赛选手的程序的q行旉中所占位|获得相应比例。请仔细阅读q?span>
遵守"输入数据"?span>"输出数据"中的格式要求Q如不符合要求,我们的自动评分程序可?span>
会判定程序不正确?span>



W二题(׃?span>100分)决策pȝQ?span>50分)

 
题目描述Q?span>
一个智能决{系l可以由规则库和事实库两部分l成Q假定规则库的Ş式ؓQ?span>
   Ri C1 & C2 & … & Cn->A
表示在条?span>C1Q?span>C2Q?span>… ?span>Cn都满的前提下,l论A成立Q即采取行动AQ;Ri表示q是
规则库中的第i条规则。事实库则由若干为真的条Ӟ卛_题)所l成?span>
对一个新的待验证的命?span>QQ可使用数据驱动或目标驱动两U推理方式之一Q来认它是
否可由某规则库和事实库推出:
1
Q?数据驱动的推理是指从事实库开始,每次试图发现规则库中某条能满x有条件的
规则Qƈ其l论作ؓ新的事实加入事实库,然后重复此过E,直至发现Q是一个事实或
没有M新的事实可被发现Q?span>
2Q?目标驱动的推理是指从目标假设Q出发Q每ơ试囑֏现规则库中某条含该假讄?span>
则,然后该规则的前提作为子目标Q确认这些子目标是否和事实库中的事实相匹配,
如果没有全部匚wQ则重复此过E,直至发现新的子目标都为真或不能再验证子目标是
否ؓ真?span>

例如Q一个规则库为:
   R1 X & B & E -> Y
   R2 Y & D -> Z
   R3 A->X
事实库ؓQ?span>
   A
   B
   C
   D
   E
如果想知道命?span>Z是否为真Q数据驱动的推理是从A B C D E开始,依次匚w规则R3Q得
到新事实XQ,R1Q得到新事实YQ和R2Q得?span>Z为真的事实;目标驱动的推理是从假讄
?span>Z开始,依次匚w规则R2Q得到新的子目标YQ,R1Q得到新的子目标XQ和R3Q得到假
?span>Z为真的结论?span>

L写程序正、高效的实现q两U推理方式?span>


  输入数据Q?span>
E序需要两个命令行参数Q?span>
1Q?span> <推理方式>Q?span>data|goalQ分别表C程序应采用数据驱动的推理或目标驱动的推理;
2
Q?span> <命题>Q如Z?span>
此外Q程序还需d已被命名?span>rules.txt的规则库和已被命名ؓfacts.txt的事实库?span>
规则库中的规则可能在千量U,?span>R1,R2,R3…依次按行排列的,每行一条规则,每条?span>
则都?span>Ri C1 & C2 & … & Cn->A的Ş式表C,Ri?span>C1之间?span>1个或多个I格Q?span>Ci?span>&?span>
_Cn?span>->之间Q以?span>->?span>A之间可以?span>0或多个空根{事实库中的各事实之间用1?span>\\n
隔开Q每行一个事实?span>
  输出数据Q?span>
如果Z能被推理为真Q则输出Q?span>
TRUE <推理方式Q?span>data?span>goal> <用空格隔开的规则序列:以在所输入的推理方式下Q推
命题为真的规则被Ȁzȝ序排列>
例如Q?span>TRUE goal R2 R1 R3
如果Z不能被推理ؓ真,输出Q?span>
UNCERTAIN

  评分标准Q?span>
在结果正的前提下,会考虑E序的运行时间。我们会用两l不同的输入数据文gQ一
个简单一个复杂)q行试Q简单的输入数据产生的程序输出结果如果正,莯题满
分的20%?span>10分(不处理运行时_除非因程序错误引L时q行Q;复杂的输入数?span>
产生的程序输出结果如果正,?span>40%?span>20分,q行旉满分?span>40%?span>20分,按各自程?span>
的运行时间在所有参赛选手的程序的q行旉中所占位|获得相应比例。两U推理方?span>
各占一半的分数。请仔细阅读q?span>"输入数据"?span>"输出数据"中的格式要求Q如不符?span>
要求Q我们的自动评分E序可能会判定程序不正确?/span>

题目描述Q?/span>

八方块移动游戏要求从一个含8个数字(?/span>1-8表示Q的方块以及一个空格方块(?/span>0表示Q的3x3矩阵的v始状态开始,不断Ud该空格方块以使其和相ȝ方块互换Q直臌到所定义的目标状态。空格方块在中间位置时有上、下、左、右4个方向可UdQ在四个角落上有2个方向可UdQ在其他位置上有3个方向可Ud。例如,假设一?/span>3x3矩阵的初始状态ؓQ?/span>
   8 0 3
   2 1 4
   7 6 5
目标状态ؓQ?/span>
   1 2 3
   8 0 4
   7 6 5
则一个合法的Ud路径为:
   8 0 3    8 1 3    8 1 3    0 1 3    1 0 3    1 2 3
   2 1 4 => 2 0 4 => 0 2 4 => 8 2 4 => 8 2 4 => 8 0 4
   7 6 5    7 6 5    7 6 5    7 6 5    7 6 5    7 6 5

另外Q在所有可能的从初始状态到目标状态的Ud路径中,步数最的路径被称为最短\径;在上面的例子中,最短\径ؓ5。如果不存在从初试状态到目标状态的M路径Q则U该l状态无解?/span>

误?strong>有效?/strong>Q细节请见评分规则)法扑ֈ从八方块的某初试状态到某目标状态的所有可能\径中的最短\径,q用C/C++实现?/span>

输入数据Q?/span>

E序需d已被命名?/span>start.txt的初始状态和已被命名?/span>goal.txt的目标状态,q两个文仉?/span>9个数字组成(0表示I格Q?/span>1-8表示8个数字方块)Q每?/span>3个数字,数字之间用空格隔开?/span>

输出数据Q?/span>

如果输入数据有解Q输Z个表C最短\径的非负的整敎ͼ如果输入数据无解Q输?/span>-1?/span>

自测用例Q?/span>

如果输入为:start.txt?/span>goal.txtQ则产生的输出应为:
5

又例Q如果用
7 8 4
3 5 6
1 0 2
替换start.txt中的内容Q则产生的输出应为:
21

评分规则Q?/span>

1Q我们将首先使用和自用例不同的10?/span>start.txt以及相同?/span>goal.txtQ每个测试用例的q行旉在一?/span>Intel Xeon 2.80GHz 4 CPU/6G 内存?/span>Linux机器上应不超q?/span>10U(内存使用不限ӞQ否则该用例不得分;

2Q每个选手的dQ精到数点后6位)=10U钟内能产生正确l果的测试用例数?/span>x10+Q?/span>1/产生q些正确l果的测试用例的q_q行毫秒)Q?/span>

3Q如果按此评分统计仍不能得出d赛将军_的一、二、三{奖p九名获奖者,我们先?/span>N=2Q然后重复下q过E直至生最高的9位得分:用随机生成的另外10个有解的start.txt再做试Qƈ对这10*N个测试用例用2Q中公式重新计算dQ?/span>N++?/span>



我爱C 2007-06-12 12:11 发表评论
]]>
8除不的自然?/title><link>http://www.shnenglu.com/cstudy/archive/2006/03/26/4603.html</link><dc:creator>我爱C</dc:creator><author>我爱C</author><pubDate>Sat, 25 Mar 2006 17:04:00 GMT</pubDate><guid>http://www.shnenglu.com/cstudy/archive/2006/03/26/4603.html</guid><wfw:comment>http://www.shnenglu.com/cstudy/comments/4603.html</wfw:comment><comments>http://www.shnenglu.com/cstudy/archive/2006/03/26/4603.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/cstudy/comments/commentRss/4603.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cstudy/services/trackbacks/4603.html</trackback:ping><description><![CDATA[ <div> <font color="#ff9900">一个自然数?除余1Q所得的商被8除也?Q再第二次的商?除后?Q最后得到的商ؓa。又知这个自然数?7除余4Q所得的商被17除余15Q最后得C个商是a?倍。求q个自然数?/font> </div> <div> <font color="#ff9900"> </font> </div> <div>分析Q根据题意,可设最后的商ؓiQi?开始取|Q用逆推法可以列出关pdQ?/div> <div>  (((i*8+7)*8)+1)*8+1=((2*i*17)+15)*17+4</div> <div> </div> <div>再用试探法求出i的倹{?/div> <div> </div> <div>参考程序:</div> <div>main()</div> <div>{</div> <div>   int i;</div> <div>   for(i=0;;i++)     /*试探商的?/</div> <div>    if( ((i*8+7)*8+1)*8+1==((2*i*17)+15)*17+4 )</div> <div>      break; /*扑ֈ满条g的i的值退出@?/</div> <div> </div> <div> printf("the required number is:%d",((2*i*17)+15)*17+4);  /*输出l果*/</div> <div>}</div> <img src ="http://www.shnenglu.com/cstudy/aggbug/4603.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cstudy/" target="_blank">我爱C</a> 2006-03-26 01:04 <a href="http://www.shnenglu.com/cstudy/archive/2006/03/26/4603.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>验证哥d巴赫猜想http://www.shnenglu.com/cstudy/archive/2006/03/26/4601.html我爱C我爱CSat, 25 Mar 2006 17:00:00 GMThttp://www.shnenglu.com/cstudy/archive/2006/03/26/4601.htmlhttp://www.shnenglu.com/cstudy/comments/4601.htmlhttp://www.shnenglu.com/cstudy/archive/2006/03/26/4601.html#Feedback7http://www.shnenglu.com/cstudy/comments/commentRss/4601.htmlhttp://www.shnenglu.com/cstudy/services/trackbacks/4601.html 验证哥d巴赫猜想
验证哥d巴赫猜想QQ一充分大的偶数Q可以用两个素数之和表示Q例如:
4 = 2 + 2
6 = 3 + 3
..
9 8 = 1 9 + 7 9
 
分析Q我们先不考虑怎样判断一个数是否为素敎ͼ而从整体上对q个问题q行考虑Q可以这样做Q读入一个偶数nQ将它分成p和qQn = p + q。怎样分呢Q可以op?开始,每次?Q而oq = n - pQ如果p、q均ؓ素数Q则正ؓ所求,否则令p = p + q再试?/div>
 
 
参考程序:
 
#include <math.h>
#include <stdio.h>
main( )
{
  long int j,n,p,q,flagp,flagq;
  printf("please input n :\n");
  scanf("%ld",&n );
  if (((n%2)!=0)||(n<=4))
    printf("input data error!\n");
  else
   {
     p = 1 ;
     do {
          p = p + 1 ;
          q = n - p ;
          flagp = 1 ;
          for(j=2;j<=(int)(sqrt(p));j++)    /*判断p是否为素?/
            {
               if ((p%j)==0)
               {
                 flagp = 0 ;
                 break;       /*不是素数Q退出@?/
                }
              }
         flagq=1 ;
         for(j=2;j<=(int)(sqrt(q));j++)   /*判断q是否为素?/

           {
             if ((q%j)==0)
             {
               flagq = 0 ;
               break ;  /*不是素数Q退出@?/
              }
           }
     } while(flagp*flagq==0);
   printf("%d = %d + %d \n",nQpQq) ;
  }


我爱C 2006-03-26 01:00 发表评论
]]>猴子吃桃问题 http://www.shnenglu.com/cstudy/archive/2006/03/26/4600.html我爱C我爱CSat, 25 Mar 2006 16:58:00 GMThttp://www.shnenglu.com/cstudy/archive/2006/03/26/4600.htmlhttp://www.shnenglu.com/cstudy/comments/4600.htmlhttp://www.shnenglu.com/cstudy/archive/2006/03/26/4600.html#Feedback0http://www.shnenglu.com/cstudy/comments/commentRss/4600.htmlhttp://www.shnenglu.com/cstudy/services/trackbacks/4600.html

   猴子W一天摘下若q个桃子Q当卛_了一半,q不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到W?0天早上想再吃Ӟ见只剩下一个桃子了。求W一天共摘了多少个桃子?/font>
 
E序分析Q采取逆向思维的方法,从后往前推断?/div>
 
参考程序:
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
  {x1=(x2+1)*2;/* W一天的桃子数是W?/span> 2 天桃子数?/span> 1 后的 2 ?/span> */
    x2=x1;
    day--;
  }
printf("the total is %d\n",x1);
}


我爱C 2006-03-26 00:58 发表评论
]]>
计算个h所得税http://www.shnenglu.com/cstudy/archive/2006/03/26/4595.html我爱C我爱CSat, 25 Mar 2006 16:08:00 GMThttp://www.shnenglu.com/cstudy/archive/2006/03/26/4595.htmlhttp://www.shnenglu.com/cstudy/comments/4595.htmlhttp://www.shnenglu.com/cstudy/archive/2006/03/26/4595.html#Feedback0http://www.shnenglu.com/cstudy/comments/commentRss/4595.htmlhttp://www.shnenglu.com/cstudy/services/trackbacks/4595.html 计算个h所得税

个h取得的工资、薪金所得,是指个h因Q职或者受雇而取得的工资、薪金、奖金、年l加薪、劳动分U、|贴、补贴以及与任职或受雇有关的其他所得?/span>

工资、薪金所得项目税率表

U数

全月应纳E所得额

E率 %

速算扣除法(元)

1

不超q?/span> 500 元的

5

0

2

500 元至 2000 元的部分

10

25

3

2000 元至 5000 元的部分

15

125

4

5000 元至 20000 元的部分

20

375

5

20000 元至 40000 元的部分

25

1375

6

40000 元至 60000 元的部分

30

3375

7

60000 元至 80000 元的部分

35

6375

8

80000 元至 100000 元的部分

40

10375

9

100000 元的部分

45

15375

     工资、薪金所得按以下步骤计算~纳个h所得税Q?/span>

     每月取得工资收入后,先减M人承担的基本养老保险金、医疗保险金、失业保险金Q以及按省政府规定标准~纳的住房公U金Q再减去费用扣除?/span> 1600 ?/span> / 月(来源于境外的所得以及外ch员、华侨和香港、澳门、台湑֐胞在中国境内的所得每月还可附加减除费?/span> 3200 元)Qؓ应纳E所得额Q按 5% ?/span> 45% 的九U超额篏q税率计缴U个人所得税?/span>

     计算公式是:

     应纳个h所得税E额 = 应纳E所得额 × 适用E率 - 速算扣除?/span>

     例:王某当月取得工资收入 9000 元,当月个h承担住房公积金、基本养老保险金、医疗保险金、失业保险金p 1000 元,费用扣除额ؓ 1600 元,则王某当月应U税所得额 =9000-1000-1600=6400 元。应U个人所得税E额 =6400×20%-375=905 元?/span>

 

参考程序:

main()

 {  float  income,taxincome,tax;  /* 定义变量收入、应E所得、个人所得税 */

printf(“please input your income\n?;

scanf(?f?&income);

taxincome=income-1600;

if(taxincome<=0)

   tax=0;

if(taxincome<=500)

   tax=taxincome*0.05;

if(taxincome>500 && taxincome<=2000)

   tax=taxincome*0.1-25;

if(taxincome>2000 && taxincome<=5000)

   tax=taxincome*0.15-125;

if(taxincome>5000 && taxincome<=20000)

   tax=taxincome*0.2-375;

if(taxincome>20000 && taxincome<=40000)

   tax=taxincome*0.25-1375;

if(taxincome>40000 && taxincome<=60000)

   tax=taxincome*0.3-3375;

if(taxincome>60000 && taxincome<=80000)

   tax=taxincome*0.35-6375;

if(taxincome>80000 && taxincome<=100000)

   tax=taxincome*0.4-10375;

if(taxincome>100000)

   tax=taxincome*0.45-1575;

 

printf(“your income is:%.2f\n?income);

printf(“your income tax is:%.2f?tax);

}



我爱C 2006-03-26 00:08 发表评论
]]>
97þۺɫdžѿ| þþƷ7777| ݺɫݺɫۺϾþ| þþƷAvӰƬ| 99þþùƷ޿| ݺݾþۺ˲| þǿdŮվ| þseƷһ| ޹պŷۺϾþ| þþƷav鶹ɫ| ƷþĻ| ɫۺϾþþĻ| Ʒþþþһ| ŮHҳþþ| þ99Ʒþþþþ| þþһƷ99þþƷ66 | ݺۺϾþAVһ| ɫۺϾþĻ| 㽶aaþëƬ| ľƷþþþùַ| ɫվþþþۺywww| ݺɫþþۺ| 99þ99þ| Ʒþþþþ| ɫþþۺ| ŷ޾Ʒ˾þ| aëƬþѲ| þ99Ʒþþþ| 99ȳ˾ƷȾþ| þۺɫ99žak | þֹۺ޾Ʒ| Ʒþþþù| 91þó| Ʒþþþû | һһþaþþƷۺ鶹| ѹ99þþ㽶| 91Ʒþþþþ91 | þ99Ʒþþþþ9 | ޹Ʒľþþ| һƷþþ޹| þþ91Ʒһ|