- 博客(121)
- 收藏
- 关注
原创 题目1471:合并符串
#include#includeint main(){ char s1[101],s2[101]; while(scanf("%s%s",s1,s2)!=EOF){ int L=strlen(s2)-1; for(int i=0,j=L;s1[i]!=0;i++,j--){ printf("%c%c",s
2014-03-29 12:13:39 576
原创 题目1374:所有员工年龄排序
#include#includeusing namespace std;int p[1000001];int main(){ int n; while(scanf("%d",&n)!=EOF){ for(int i=0;i scanf("%d",&p[i]); sort(p,p+n);
2014-03-29 11:52:50 632
原创 题目1371:最小的K个数
#include#includeusing namespace std;int main(){ int n,k; while(scanf("%d%d",&n,&k)!=EOF){ int a[200005]; for(int i=0;i scanf("%d",&a[i]);
2014-03-28 22:50:21 508
原创 题目1362:左旋转字符串
#include#includeint main(){ char s[1000]; while(scanf("%s",s)!=EOF){ getchar(); int n; scanf("%d",&n); n=n%strlen(s); for(int i=n;s[i]!=0
2014-03-28 22:40:59 624
原创 题目1346:会员积分排序
#include#includeusing namespace std;struct node{ int id; int s;}p[1001];bool cmp(node a,node b){ if(a.s!=b.s) return a.s>b.s; else return a.id}int main(){ int
2014-03-28 22:26:56 663
原创 题目1361:翻转单词顺序
// 方法很简单:先翻转整个句子,再翻转每个单词#include#include#includeusing namespace std;void reserver(char *s,int start,int end){ // 倒置函数 for(int i=start,j=end;i char tmp; tmp=s
2014-03-28 22:07:50 565
原创 题目1356:孩子们的游戏(圆圈中最后剩下的数)
// 设 K_i 为剩余 i 个人时,以刚出去的那个人为0号开始,编号为K的人(他)。那么在剩余 i+1 个人时,以当时刚出局的人为0号开始,他的编号为T = ((K+M-1)%(i+1)) + 1。因为 i+1 个人时编号为 ((M-1)%(i+1))+1 个人是 i 人时编号为 0 的刚出局者,第K个加上K就行了。这样倒推道 i+1 = N 即可// 其实就是约瑟夫环吧!
2014-03-27 22:51:57 822
原创 题目1355:扑克牌顺子
#include#includeusing namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF){ if(n==0) break; int a[20],zero=0; for(int i=0;i scanf("%d",
2014-03-27 22:18:23 539
原创 题目1339:ACM
#include#include#includeusing namespace std;struct node{ char name[200]; int num; int time;}play[105];bool cmp(node a,node b){ if(a.num!=b.num) return a.num>b.num;
2014-03-27 21:59:00 479
原创 题目1250:矩阵变换
//分析1,设矩阵是a[n][n]2,X=sum(a[i][j]其中i+j是奇数,Y=sum(a[i][j])其中i+j是偶数,则有X=Y3,任意一个元素不大于周围四个元素的和4,以上两点是充要条件#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ if(n
2014-03-27 21:50:05 598 2
原创 题目1158:买房子
#includeint main(){ double n,k; while(scanf("%lf %lf",&n,&k)!=EOF){ int flag=0; double m=200,sum=n; int y=1; k=k/100; while(m>sum){
2014-03-26 23:01:43 609
原创 题目1132:与7无关的数
#includeint judge(int n){ if(n%7==0) return 0; else{ while(n!=0){ if(n%10==7) return 0; n/=10; } return 1; } }int
2014-03-26 22:28:20 659
原创 题目1062:分段函数
#includeint main(){ double x; while(scanf("%lf",&x)!=EOF){ double y; if(x>=0&&x else if(x>=2&&x else if(x>=4&&x printf("%.3lf\n",y); }
2014-03-26 22:06:00 657
原创 题目1022:游船出租
// 注意输入的格式。。。#includestruct node{ int start; // 租船时间 int end; // 换船时间 int mark; // 标志船的状态:0表示已还,1表示未还 }boat[100];int main(){ int id[100]; wh
2014-03-26 21:47:52 568
原创 题目1171:C翻转
#includeint main(){ int a[10][10],buf[10][10]; while(scanf("%d",&a[0][0])!=EOF){ buf[0][0]=a[0][0]; for(int i=1;i scanf("%d",&a[0][i]); buf[0]
2014-03-26 20:31:38 1187
原创 题目1013:开门人和关门人
#include#includeusing namespace std;struct node{char zhengjian[20]; // 证件号 char lai[20]; // 签到时间 char likai[20]; // 签离时间 }a[1000];int main (){int n;while(cin>>n){
2014-03-26 20:01:32 735
原创 题目1196:成绩排序
#include#includeusing namespace std;struct node{ int id; int score; }stu[100];bool cmp(node a,node b){ if(a.score!=b.score) return a.score else return a.id}int mai
2014-03-25 17:03:58 524
原创 题目1197:奇偶校验
#includeint main(){ char s[1000]; while(gets(s)){ for(int i=0;s[i]!=0;i++){ int n=s[i]; int m[8],k=0,cnt=0; while(n!=0){ m[
2014-03-25 16:57:47 766
原创 题目1133:学分绩点
#includefloat score(int c){ if(c>=60&&c else if(c>=64&&c else if(c>=68&&c else if(c>=72&&c else if(c>=75&&c else if(c>=78&&c else if(c>=82&&c else if(c>=85&&
2014-03-25 16:30:27 736
原创 题目1123:采药
// 0-1背包:每一件物品至多只能选择一件,即在背包中该物品数量只有0和1两种情况 #include#define INF 0x7fffffffint max(int a,int b){ return a>b?a:b; }struct E{ int w; // 价值 int v; // 体积 }list[101];
2014-03-25 15:37:52 555
原创 题目1014:排名
#include#include#includeusing namespace std;struct node{ char id[100]; // 学号 int score; // 得到的总分 }stu[1000];int cmp(node a,node b){ if(a.score!=b.score) return a.s
2014-03-25 15:07:38 556
原创 题目1121:首字母大写
// 一定要注意本题的条件"单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。"也就是说除了这四类以外的字符都不能看做是分割单词, 比如标点符号, 两个用标点符号隔开的单词必需认为是一个单词.#include#includeint main(){ char s[105]; while(gets(s))
2014-03-24 23:17:51 779
原创 题目1115:数字求和
#includeint main(){ int n,a[10]; while(scanf("%d%d%d%d%d%d",&n,&a[0],&a[1],&a[2],&a[3],&a[4])!=EOF){ int sum=0; for(int i=0;i if(n>a[i]) sum+=a[i];
2014-03-24 22:54:38 693
原创 题目1111:单词替换
#include#includeint main(){ char str[105]; while(gets(str)){ char a[100],b[100],s[100][100]; scanf("%s%s",a,b); getchar(); // 不能少。。。 in
2014-03-24 22:50:33 792
原创 题目1155:鸡兔同笼
#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ while(n--){ int m,min=0,max=0; scanf("%d",&m); if(m%2!=0){ min=0;max=0;}
2014-03-24 21:28:48 682
原创 题目1134:密码翻译
#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ getchar(); while(n--){ char s[100]; gets(s); for(int i=0;s[i]!=0;i++){
2014-03-24 21:24:18 553
原创 题目1106:数字之和
#includeint sum(int n){ int ret=0; while(n!=0){ ret+=n%10; n/=10; } return ret;}int main(){ int n; while(scanf("%d",&n)!=EOF){
2014-03-24 21:14:51 549
原创 题目1110:小白鼠排队
#include#includeusing namespace std;struct node{ int weight; char c[100];}buf[101];bool cmp(node a,node b){ return a.weight>b.weight; }int main(){ int n;
2014-03-24 21:06:48 585
原创 题目1199:找位置
// 关键是理解题意:只输出重复的字符,且按照字符出现的顺序。。。#include#includeint main(){ char s[101]; while(scanf("%s",s)!=EOF){ int f[100]; // 判断字符是否已输出过 memset(f
2014-03-23 12:12:44 464
原创 题目1504:把数组排成最小的数
#include#include#include#include#include#define MAXN 100005using namespace std;string str[MAXN];int cmp(string a,string b) { string str1=a+b; string str2=b+a; if(
2014-03-23 11:41:52 438
原创 题目1510:替换空格
#includechar s[10000000];int main(){ while(gets(s)){ for(int i=0;s[i]!=0;i++){ if(s[i]==' ') printf("%%20"); else printf("%c",s[i]); }
2014-03-23 11:20:00 432
原创 题目1206:字符串连接
#include#includeint main(){ char a[100],b[100]; while(scanf("%s%s",a,b)!=EOF){ char c[200]; int k=0; for(int i=0;a[i]!=0;i++) c[k++]=a[i]; for(int i
2014-03-22 23:31:51 530
原创 题目1515:打印1到最大的N位数
#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ int c=1,max=0; for(int i=1;i max+=9*c; c*=10; } for(int i=1;i } retu
2014-03-22 23:27:05 442
原创 题目1465:最简真分数
// 即判断两个数是不是有公约数。。。#include#includeusing namespace std; int gcd(int x,int y){ if(y==0) return x; else return gcd(y,x%y);}int main(){ int n;
2014-03-22 23:04:47 1071 1
原创 题目1483:求最大最小数
#include#includeusing namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF){ int a[10001]; for(int i=0;i sort(a,a+n); printf("%d %d\n",a[n-1
2014-03-22 22:09:51 401
原创 题目1478:三角形的边
#include#includeusing namespace std;int main(){ int a[3]; while(scanf("%d%d%d",&a[0],&a[1],&a[2])!=EOF){ if(a[0]==0) break; sort(a,a+3); printf("%d\n",a[0]
2014-03-22 22:09:02 407
原创 题目1476:平方因子
#include#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ if(n==0) break; int flag=0; for(int i=2;i if(n%(i*i)==0) {flag=1;break;}
2014-03-22 21:41:59 632
原创 题目1020:最小长方形
#include#includeusing namespace std;int main(){ int x[100],y[100]; while(scanf("%d%d",&x[0],&y[0])!=EOF){ if(x[0]==0&&y[0]==0) break; int i=1; while(scanf(
2014-03-22 15:35:29 563
原创 题目1073:杨辉三角形
// 题目要求用递归,但是不用也AC了。。。#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ int b[101][101]; if(n==1) printf("1\n"); else{ for(int i=2;i
2014-03-22 15:27:41 539
原创 题目1063:整数和
#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ printf("%d\n",n>0?3*n*(n+1)/2:3*n*(1-n)/2); } return 0; }
2014-03-22 15:18:29 534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人