- 博客(12)
- 收藏
- 关注
原创 nyoj1057 寻找最大数(三)
这道题折磨了我两天半 一开始没思路后来有了思路 但不是很清晰很彻底 导致程序一直写不对 此题的贪心策略就是从头开始 一步一步的来 每一步找到当前所剩步数下的最大数字,与前面的数字进行交换,换到当前位置上 记住是每一次,确定一个位子上的值该放哪个 一个位子一个位子的确定#include #include char a[21];int main(){ int k; whil
2015-08-19 18:34:34 278
原创 nyoj448 寻找最大数
这道题有个最重要的特点,就是要在删除数的情况下,原序输出的数是最大的才可以,一定要记住,是原序这道题的贪心策略就是在按顺序的情况下一次一次找到该输出的最大数 举个例子:假如输入数据的长度是14位,要删掉的是10位,在保证顺序的情况下,输出4次,每次都按前后顺序输出最大值,即若存储下标为0到13,则在下标为0到10之间的数中选出最大值输出,用max记录最大值对应的下标,接下来在max+1到1
2015-08-16 21:21:17 359
原创 nyoj8 一种排序
#include #include struct Node{ int num,l,w;};int cmp(const void *a,const void *b){ Node *c=(Node *)a; Node *d=(Node *)b; if(c->num!=d->num) return c->num-d->num; else if(c->l!=d->l) re
2015-08-11 16:10:24 262
原创 nyoj915 +-字符串
#include #include int main(){ char a[5005],b[5005]; int x,y; while(scanf("%s%s",a,b)!=EOF) { x=strlen(a); y=strlen(b); if(x!=y) { printf("-1\n"); continue; } int i,j,sum=0;
2015-08-11 16:04:08 335
原创 nyoj236 心急的C小加
#include #include struct Bang{ int l; int w;};int comp(const void *a,const void *b){ Bang *c=(Bang *)a; Bang *d=(Bang *)b; if(c->l!=d->l) return c->l-d->l;//将小木棒按长度从小到大排序 else return c
2015-08-11 15:50:03 322
原创 nyoj106 背包问题
#include struct Beibao{ int v;//题意中v为每个物品的单位重量的价值 int w;//每个物体的总重量};int main(){ int k; Beibao a[11],t; scanf("%d",&k); while(k--) { int s,m; scanf("%d%d",&s,&m);//s为物品件数 m为总限重 int i,
2015-08-11 11:43:23 285
原创 nyoj845 无主之地1
#include #include int main(){ int i; int m,n; int a[110],b[110]; while(~scanf("%d%d",&m,&n)) { int count=0; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); while(m||n) { for(i=0;i<c
2015-08-11 11:36:36 685
原创 nyoj100 1的个数
#includeint main(){ int N; scanf("%d",&N); while(N--) { int M; int rem,a[100],i=0,j,k=0; scanf("%d",&M); do{ rem=M%2; M=M/2; a[i]=rem; i++; }while(M!=0); for(j=0;j<i;j++)
2015-08-10 20:34:47 260
原创 nyoj 75 日期计算
#include int main(){ int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int b,c,d,k,i; scanf("%d",&k); while(k--) { int m,n=0,sum=0; scanf("%d%d%d",&b,&c,&d); if(b%4==0 && b%100!=0 || b%4
2015-08-10 19:50:59 332
原创 nyoj 小学生算术
#include int main(){ int a,b; scanf("%d%d",&a,&b); while(a || b) { int c,d,e; c=(a%10+b%10)/10; d=(a/10%10+b/10%10+c)/10; e=(a/100+b/100+d)/10; if(c>0&&d>0&&e>0) printf("3\n"); el
2015-08-10 19:39:09 384
原创 nyoj62 笨小熊
#include #include int main(){ char a[102]; int k; scanf("%d",&k); while(k--) { int b[28]={0}; scanf("%s",a); int n=strlen(a); int i,max=0,min=100,p;//100为单词字母个数最大上线 for(i=0;i<n;i++)
2015-08-10 15:51:18 317
原创 nyoj 24 素数距离问题
#include #include int ss(int n){ int i; if(n==1||n==0) return 0; for(i=2;i<=sqrt(n);i++)//用这种方法节省时间 if(n%i==0) return 0; return 1;}int main(){ int m,n,i; scanf("%d",&m);
2015-08-08 11:52:57 264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人