# 把sicily做了的一些代码贴出来，方便查询 1014 1045 1047

1014. Specialized Four-Dig

 Total: 4074 Accepted: 2204 Rating: 2.2/5.0(20 votes)

 Time Limit: 1s Memory Limit: 32MB Description Find and list all four-digit numbers in decimal notation that have the property that the sum of its four digits equals the sum of its digits when represented in hexadecimal (base 16) notation and also equals the sum of its digits when represented in duodecimal (base 12) notation.     For example, the number 2991 has the sum of (decimal) digits 2+9+9+1 = 21. Since 2991 = 1*1728 + 8*144 + 9*12 + 3, its duodecimal representation is 189312, and these digits also sum up to 21. But in hexadecimal 2991 is BAF16, and 11+10+15 = 36, so 2991 should be rejected by your program.     The next number (2992), however, has digits that sum to 22 in all three representations (including BB016), so 2992 should be on the listed output. (We don’t want decimal numbers with fewer than four digits — excluding leading zeroes — so that 2992 is the first correct answer.) Input There is no input for this problem Output Your output is to be 2992 and all larger four-digit numbers that satisfy the requirements (in strictly increasing order), each on a separate line with no leading or trailing blanks, ending with a new-line character. There are to be no blank lines in the output. The first few lines of the output are shown below. Sample Input Copy sample input to clipboard There is no input for this problem Sample Output 2992 2993 2994 2995 2996 2997 2998 2999

//1014.c

#include<stdio.h>
int main()
{
int a,i,temp,b10[4]={0},b12[4]={0},b16[4]={0};
int sum10,sum12,sum16;

for(a=2992;a<=9999;a++)
{
for(i=0,temp=a;i<4;i++)
{

b10[i]=temp%10;
temp=temp/10;
}
for(i=0,temp=a;i<4;i++)
{

b12[i]=temp%12;
temp=temp/12;
}
for(i=0,temp=a;i<4;i++)
{

b16[i]=temp%16;
temp=temp/16;
}
for(i=0,sum10=0,sum12=0,sum16=0;i<4;i++)
{

sum10+=b10[i];
sum12+=b12[i];
sum16+=b16[i];
}
if(sum10==sum12&&sum12==sum16)
printf("%d/n",a);
}

}

1145. 校门外的树

 Total: 5360 Accepted: 1812 Rating: 2.3/5.0(25 votes)

 Time Limit: 1s Memory Limit: 32MB Description 某校大门外长度为L的马路上有一排树，每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴，马路的一端在数轴0的位置，另一端在L的位置；数轴上的每个整数点，即0，1，2，……，L，都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数，区域之间可能有重合的部分。现在要把这些区域中的树（包括区域端点处的两棵树）移走。你的任务是计算将这些树都移走后，马路上还有多少棵树。 Input 输入的第一行有两个整数L（1 <= L <= 10000）和 M（1 <= M <= 100），L代表马路的长度，M代表区域的数目，L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数，用一个空格隔开，表示一个区域的起始点和终止点的坐标。 Output 输出包括一行，这一行只包含一个整数，表示马路上剩余的树的数目。 Sample Input Copy sample input to clipboard 500 3 150 300 100 200 470 471 Sample Output 298

#include<stdio.h>
int main()
{
int a[10001],l,d,b,c,i,j,counter=0;
scanf("%d",&l);
scanf("%d",&d);
for(i=0;i<=l;i++)
a[i]=1;
for(i=0;i<d;i++)
{
scanf("%d %d",&b,&c);
for(j=b;j<=c;j++)
a[j]=0;
}
for(i=0;i<=l;i++)
if(a[i]!=0)
counter++;
printf("%d/n",counter);
}
1147. 谁拿了最多奖学金

 Total: 3739 Accepted: 1515 Rating: 2.6/5.0(18 votes)

 Time Limit: 1s Memory Limit: 32MB Description 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种，获取的条件各自不同：   1) 院士奖学金，每人8000元，期末平均成绩高于80分（>80），并且在本学期内发表1篇或1篇以上论文的学生均可获得； 2) 五四奖学金，每人4000元，期末平均成绩高于85分（>85），并且班级评议成绩高于80分（>80）的学生均可获得； 3) 成绩优秀奖，每人2000元，期末平均成绩高于90分（>90）的学生均可获得； 4) 西部奖学金，每人1000元，期末平均成绩高于85分（>85）的西部省份学生均可获得； 5) 班级贡献奖，每人850元，班级评议成绩高于80分（>80）的学生干部均可获得；   只要符合条件就可以得奖，每项奖学金的获奖人数没有限制，每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分，班级评议成绩82分，同时他还是一位学生干部，那么他可以同时获得五四奖学金和班级贡献奖，奖金总数是4850元。   现在给出若干学生的相关数据，请计算哪些同学获得的奖金总数最高（假设总有同学能满足获得奖学金的条件）。 Input 输入的第一行是一个整数N（1 <= N <= 100），表示学生的总数。接下来的N行每行是一位学生的数据，从左向右依次是姓名，期末平均成绩，班级评议成绩，是否是学生干部，是否是西部省份学生，以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串（不含空格）；期末平均成绩和班级评议成绩都是0到100之间的整数（包括0和100）；是否是学生干部和是否是西部省份学生分别用一个字符表示，Y表示是，N表示不是；发表的论文数是0到10的整数（包括0和10）。每两个相邻数据项之间用一个空格分隔。 Output 输出包括三行，第一行是获得最多奖金的学生的姓名，第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多，输出他们之中在输入文件中出现最早的学生的姓名。第三行是这N个学生获得的奖学金的总数。 Sample Input Copy sample input to clipboard 4 YaoLin 87 82 Y N 0 ChenRuiyi 88 78 N Y 1 LiXin 92 88 N N 0 ZhangQin 83 87 Y N 1 Sample Output ChenRuiyi 9000 28700   `#includeint main(){ char name[100][21],c,d; int a,b,e,i,n,temp,tsum=0,sum[100]={0}; scanf("%d",&n); for(i=0;i80&&e>=1) sum[i]+=8000; if(a>85&&b>80) sum[i]+=4000; if(a>90) sum[i]+=2000; if(a>85&&d=='Y') sum[i]+=1000; if(b>80&&c=='Y') sum[i]+=850; } temp=sum[0]; for(i=0;i

• 本文已收录于以下专栏：

## Sicily 1014 畅通工程

Description 某省自从实行了很多年的畅通工程计划后，终于修建了很多路。不过路多了也不好，每次要从一个城镇到另一个城镇时，都有许多种道路方案可以选择，而某些方案要比另一些方案行走的距...
• mayer314
• 2014年11月06日 19:11
• 725

## 网页设计中一些常用辅助代码（收藏）

• seabluecn
• 2007年11月06日 08:15
• 548

## 说完电调就是螺旋桨了

• lulitianyu
• 2016年01月09日 20:32
• 933

## Sicily 1937. 导游

1937. 导游 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Mr. G. 在孟...
• u012925008
• 2015年03月17日 16:14
• 970

## sicily 1014

#include "iostream" using namespace std; int main() { int n = 2992; do { int sum1 = 0, s...
• yzl_rex
• 2011年11月06日 21:21
• 406

## sicily 1047（数学）

• fuyukai
• 2016年05月01日 16:04
• 468

## Sicily 1047 Super Snooker

Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description On one of my many interplaneta...
• light_14
• 2016年03月11日 22:07
• 211

## PAT 1047. Student List for Course

• ACM_Ted
• 2014年03月02日 17:03
• 1057

## Last_IO_Errno错误代码说明

Last_IO_Errno错误代码说明：   1005：创建表失败 1006：创建数据库失败 1007：数据库已存在，创建数据库失败 1008：数据库不存在，删除数据库失败 100...
• u011698346
• 2014年07月18日 17:38
• 1024

## sicily 1014 Specialized Four-Dig

#include using namespace std; int main() {     long int i,n;     for(i=2992;i        ...
• sysu_yunmaibanshan
• 2014年10月24日 22:28
• 205

举报原因： 您举报文章：把sicily做了的一些代码贴出来，方便查询 1014 1045 1047 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)