博文

打印杨辉三角(2007-06-02 12:26:00)

摘要:问题描述 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1   输入 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的 杨辉三角的层数。 输出 对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后 面加一个空行。
输入样例
2 3   输出样例
1
1 1 1
1 1
1 2 1
#include <stdio.h>
#include <string.h>
int main(){
 int n,a[32],b[32],i,j;
 
 while(scanf("%d",&n)!=EOF){
  a[1] = a[2] = b[1] = b[2] = 1;
  printf("1\n");
  for(i = 2; i <= n; i++){
   printf("1 ");
   for(j = 2; j < i; j++){
    b[j] = a[j-1]+a[j];
    printf("%d ",b[j]);
   }
   b[j] = 1;
   memcpy(a,b,sizeof(int)*(n+2));
   printf("1\n");
  }
  printf("\n");
 }
 return 0;
}
......

阅读全文(4970) | 评论:0

孤独的骑士(ACM)(2007-06-01 21:53:00)

摘要:问题描述 任务很简单. 确定国际象棋棋盘上处于骑士攻击之下的格子个数. 棋盘上没有其它棋子. 骑士的走法: 横 (纵)向走两个格, 再纵(横)向走一个格(类似于中国象棋中的马). 输入 第一行为测试次数N, 1 ≤ N ≤ 100.
后面N行每行包含一个坐标表示骑士的位置.
字母表示横向位置, 数字表示纵向位置. 输出 输出N行. 每行一个整数, 表示骑士可攻击的格子个数. 输入样例
3
a1
d4
g6 输出样例
2
8
6 // 注意国际象棋的棋盘为 8*8 的矩阵 #include <stdio.h>
#include <stdlib.h>
int main(){
 int  k,n,i,x,y;
 int  b[] = {-2,-1,1,2,2,1,-1,-2};
 int  c[] = {1,2,2,1,-1,-2,-2,-1};
 char str[4];  scanf("%d",&n);
 for(; n > 0; n--){
  scanf("%s",str);
  y = tolower(str[0]) - 'a';
  x = str[1] - '1';
  for(k = 0,i = 0; i < 8; i++){
   if(x+c[i]<0 || x+c[i]>7 || y+b[i]<0 || y+b[i]>7)
    continue;
   k++;
  }
  printf("%d\n",k);
 }
 return 0;
}
......

阅读全文(3054) | 评论:0

随笔(2007-05-31 11:35:00)

摘要:    说不出的一种感觉,很微妙很清柔,怀坠着一个梦,带着对未来的憧憬,在环境中挣扎着向前……
   
    星河里那急弛的行星,一如继往的绕着似乎永恒的轨道以不可想象的速度行走,行走……
   
    久违的星空,久违的梦幻般模糊而又模糊。我知道,不可逆转的我正向一个亘古不变的黑暗走去     如诗的童年,那个充满梦幻,充满好奇,对春夏秋冬感激,对小鸟欢呼的童年已经远去……     小学课本里那些关于田野,关于春天,四季,以及那一个个的小寓言常常在梦里出现……     一生,在现在,过去和将来中疲倦,正是青春的我所幸依然保持一颗向往大海,向往崇山峻岭……     我是很喜欢计算机的,我知道,因为有时候它让我完全沉浸。。。。。。     软考考完后,我感觉应该放松下,于是看了蜘蛛侠三,呵呵,挺好看的,学校里的科幻片更新的速度太慢了。     我是那种控制不了自己的人,尽管懂得--心似平原跑马--易放难收,然而我还是常常做些与自己的目标不相关的事情,虽然之后会有一种虚度年华的感觉。我知道了我做不了伟人 。     为什么喜欢科幻?     生活太平凡了,我是个喜欢幻想的人,从小到大,一直喜欢幻想,于是看科幻,这不蜘蛛看完了 我就看连续剧--《英雄》-- 美国的科幻,现在还是第一季。感觉挺好,不过看完后,脑袋疼的 要命。。。     尽管生活平凡,还得一步一步向前走,当然中间夹杂些不着边际的幻想,什么外星人,什么时空  隧道 ……    ......

阅读全文(2251) | 评论:0

2007软件设计师下午试题答案(个人的)(2007-05-27 20:11:00)

摘要:2007软件设计师考试下午试题答案(个人的,正确与否未知) 试题一
1费用单
2待租赁房屋列表
3看房请求
4变更房屋状态请求
5房主信息文件
6租赁者信息文件
7房屋信息文件
8看房记录文件
9租赁者    登记租赁者信息    租赁者信息
10 租赁者   安排租赁者房屋    看房请求
11房主       变更房屋状态     变更房屋状态请求 试题二
1)1
2)*(这里有人用 n 我是按题目上的,题目上有个 *)
3)*
4)*
5)3个
6)挂号单:收银员   挂号单:医师    挂号单:门诊处方
7)收银员编号
8)就诊号(根据处方单的表填的,另外有些东西可以通过连接找到)
9)药品编码,数量
10)类型,库存,货架编号,单位,规格,单价
11)就诊号
12)就诊号
13)就诊号,药品编码 试题三
资源(Catalog)
图书(Book)
唱片(CdDisk)(这里应该没有英文的,但我嫌涂了难看,没涂它了!)
索引号,名称,出版时间,资源状态
作者,页数
演唱者,介质类型
1
0..*
1
0..*
1
1 试题四
K=0
j<=N
K++
d[i]
0(N) 试题(五,六,七)选做,我做的是六(C++的那个)
1,std
2,virtual void
3,virtual void
4,flyBehavior
5,quackBehavior
6,flyBehavior->fly()
7,quackBehavior->quack()
8,QuackNoWay
9,Squeak (总的感觉是很容易,不过具体结果还得耐心的等了)
题目链接......

阅读全文(6707) | 评论:26

烦人的电梯(2007-05-25 22:37:00)

摘要:Dissatisfying Lift 
Problem description
There's a building with M floors. The amounts of tenants of every floor are K1, K2, K3, ..., Km. One day all the tenants went home together and they took the same lift (suppose the lift was large enough). Because of some reason the lift could only stop on one floor and the tenants must go upstairs or downstairs to their houses. Every tenant went up N floors would make the dissatisfied degree rise N * a + 0.5 * N * (N - 1) degrees, and every tenant went down N floors would make the dissatisfied degree rise N * b + 0.5 * N * (N - 1) degrees. Your task is to tell which floor the lift should stop, in order to make the dissatisfied degree as low as possible.  
Input
The first line of the input contains a single integer T (1 <= T <= 20), the number of test cases. Then T cases follow. The first line of each test contains M (1 <= M <= 10000), a and b (0 <= a, b <= 100). The second line contains K1, K2, K3, ...,......

阅读全文(2544) | 评论:0

IT人的创业故事(2007-05-25 20:36:00)

摘要:戴志康,1981年生,黑龙江人。2000年考上哈尔滨某大学,2001年创业,康盛世纪CEO不花小钱,出手就买大件。决断了就不去改变,犯错了也不后悔。   抽中南海香烟、吃大食堂,穿件高中时代的、显得又小又旧的运动服,头发时常蓬松而翘起。也许只有看到他坐上那辆银灰色的宝马,在办公室里用灼人的眼光打量下属,或者跟VC大佬对坐谈判的时候,你才发现戴志康不是个郁闷的小青年。   他19岁以前在家中自学,翌年进大学,20岁从学校出走。随后三年独居僻室,潜心打磨技术。22岁还是穷孩子,23岁成了百万富翁。但这点财富并没有成为24岁的负累,是年告别孤身,到北京寻找创业伙伴。这一刻起,他要从技术天才变身为商人,从偏执狂着陆为管理者。明年26岁,他可能会是一个百人规模公司的掌门。如果有这一天,他将脱胎换骨。   在三年内迅速积累起财富还是小事,可怕在于他的颠覆性思维和与其年龄极不相衬的老练。现在,戴志康又在做一场大冒险:产品完全免费,要花很长时间甚至好几年去实践一个前所未有的、还仅仅存在于头脑中的新业务模式。“我本来就什么都不是、什么都没有,最次的结果也就是再一次什么都不是、什么都没有。不过……”小戴同志转了转锐利的眼光、压低了招牌式的调侃嗓音:“这种可能性非常小。”   “像我这样的生存不下去”   三次纪律处分,15门考试没过,这是戴志康大学4年的成绩单。不过,在得到这些“奖励”的后三年中,戴志康倒很充实。相反,从2000年秋天到次年夏天的一年级,是最窒息的日子。因为一种“幻想”破灭了。   2000年之前,戴志康一直在大庆。外公和父母都是大庆石油学院的老师,由着他使性子,只要不是错事,就不惜代价支持。他酷爱计算机,家里支持他自学。1996年连续发表了15篇文章,每篇都针对一个计算机问题,几千块钱稿费是他第一份收入。那时候天天钻研到深夜,不由长叹挣钱真不容易。2000年报考了哈尔滨某大学的通信专业,戴志康想,自己精通计算机,如果再把通信搞熟,毕业后一定是抢手的人才。   郁闷!在戴志康那里,老师应该有人格魅力,比如雷厉风行、眼界宽广。学校里遇到的老师,说话做事总是慢腾腾,在黑板上写几个字要花两三分钟,字还没写完,下面已经开始说话聊天了。戴志康觉得这样的效率不能使自己获益,“浪费我的时间”。   戴志康把同学分成两类,一类是书呆子,好好上课,考研读博;一类就天天打......

阅读全文(2149) | 评论:0

合并果子acm(2007-05-19 10:19:00)

摘要:合并果子 
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。
每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一 堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果 子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。 例如有3种果子,数目依次为1,2,9。可以先将 1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆 ,数目为12,耗费体力为 12。所以多多总共耗费体力=3+12=15。可以证明15为最小的体力耗费值。  
Input
输入包括两行,第一行是一个整数n(1 <= n <= 10000),表示果子的种类数。第二行包含n个整数,用空格分隔,第i个整数ai(1 <= ai <= 20000)是第i种果子的数目。  
Output
输出包括一行,这一行只包含一个整数,也就是最小的体力耗费值。输入数据保证这个值小于2的31次方。  
Sample Input
3
1 2 9
 
Sample Output
15
 
Problem Source
NOI #include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h> struct node{
 int value;
 struct node *next;
 struct node *prep;
}a[10004]; int myCompare(const int *a,const int *b){
 if(*a &g......

阅读全文(5993) | 评论:0

n 皇后问题(2007-05-18 07:23:00)

摘要:/*  问题描叙: 在一个矩阵中布局皇后使所有相邻的皇后既不在同一行
 *  也不在同一列和同一对角线上。下面的是以前写的,死算,效率很低。
 */
#include <stdio.h>
#include <math.h>
#include <mem.h> int test(int i,int j,int n,int *stack)     /* 检查位置是否合理 */
{ int m,d;   for(m = 0; m < n; m ++)
 { d = *(stack + m);
   if( d == -1)     
  continue;
   else if(d == i || fabs(m - j) == fabs(i - d))
    return 1;
 }
  return 0;
} void OutToScreen(int *matrix,int npos,int n)
{ int i,j;
  printf("\nLayout:%d\n\n",npos);
    for(i = 0; i < n; i ++)
 { for(j = 0; j < n; j ++)
  { if( *(matrix + i*n + j) )
   printf("%2c",1);      /* 头像 */
    else  printf("%2c",219);   /* 小方格 */
  }
   printf("\n\n");
 }
}
 &n......

阅读全文(3880) | 评论:0

郁闷杂谈(2007-05-13 13:26:00)

摘要:郁闷杂谈
     “郁闷”,是非常流行的一个词,仅次于“晕”,“倒”等等。大一的时候,我对这些词非常陌生现在已经和吃饭睡觉习以为常了。“郁闷”随之而来的是“哎”,少年不知愁滋味,而今我已不是少年了,人总是要长大的,大了事情就多了,太多的事情总是让人“郁闷”。
       我不认为自己和猪一样,只知道吃饭睡觉,常常还想些神秘的事情,对未来也常常憧憬。而现在我不得不说自己有点象了,这也正是我郁闷的原因。哎 !眼看大四就要来了,四级还遥遥无期。这学期报了软师,现在已没有信心。
   “郁闷”,于是我看电影,我喜欢科幻,并且总是津津有味的谈论那些很玄的所谓超自然的东西,什么UFO,外星生命,百幕大,宇宙大爆炸一大堆。我做事情有时候会奋不顾身,比如看电影,我就会一直看下去,最长的记录是大二时,连续一周不间断,看完科幻,看连续剧,总之不看到倒味,不看到没有可看资源决不罢休。看电影,有好处,特别是科幻可以提高人的想象力,不过也有人说看电影看多了人就会变白痴,感觉也是那样;不但看电影,写程序我也会不要命,坐在电脑前不断的敲键盘,运行,调试,看着那一行行优美的代码饿得头脑发疯亦浑然不觉;我也看小说,当然也是废寝忘食的看,甚至到路灯下挑灯夜战。上次看了本历史小说《亭长小武》让我对生活有了新的看法,大丈夫“有所能有所不能”,让爱因斯坦牵头牛到田里耕田也许他不见得耕得很好,让毛主席唱歌他不一定会象刘得华一样红,何也?大丈夫“有所能有所不能”也 !为什么看小说,看电影,编程会感觉不到时间,热情,的确做事情有热情才做得有滋味。
    ......

阅读全文(2674) | 评论:1

前缀表达式(2007-05-07 07:07:00)

摘要:Postfix expression evaluation 
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB 
Total submit users: 121, Accepted users: 113 
Problem 10142 : No special judgement 
Problem description
Postfix expressions are arithmetical expressions where the operators come after anything they operate on. Postfix is important because it maintains precedence without the use of (), and they're "easy" to evaluate. In this problem, you get to see how "easy" postfix expressions are to evaluate.  
Input
Each line of the input will be no more than 80 characters and will contain one expression to be evaluated. All expressions will be correct postfix expressions. There will be one space between each number/operator. The only operators we're interested in is + (addition), - (subtraction), and * (multiplication). There is no division. All numbers are non-negative integers.  
Output
Your program is to output the result of evalu......

阅读全文(3922) | 评论:0