首页 > 其他 > 详细

RQNOJ 前100题 -练手

时间:2014-09-23 15:16:25      阅读:203      评论:0      收藏:0      [点我收藏+]

1.http://www.rqnoj.cn/problem/1

program mingming;
var 
    a:array [1..1000] of integer;
    i,j,k,n:longint;
begin
	fillchar(a,0,sizeof(a));
	k:=0;
	
	read(n);
	for i:=1 to n do
		begin
			read(j);
			if a[j] <> 1 then
				begin
				a[j]:=1;
				inc(k);
				end;
				
		end;
			
			writeln(k);
	for i:=1 to 1000 do
		begin
		if a[i] = 1 then
			write(i,‘ ‘);
		end;

end.

 2.

#include <stdio.h>

#define maxm 26
#define maxn 30001
int n,m;
int v[maxm],w[maxm];
int f[maxn]={0};


int main(int argc, const char *argv[])
{
   // freopen("1.in","r",stdin);
    int i,j,k,l;
    scanf("%d%d",&n,&m);
    for(i=1;i<=m;i++)
        scanf("%d%d",&v[i],&w[i]);
    for(i=1;i<=m;i++)
        for(j=n;j>0;j--)
        {
            if(j>=v[i] && (f[j] < f[j-v[i]] + v[i]*w[i]))
                f[j] = f[j- v[i]] + v[i]*w[i];
        }
    printf("%d",f[n]);
    return 0;
}

 3.

#include <stdio.h>
#include <stdlib.h>
char JamNum[27]={0};
char  Snum[27]= {0};
int weishu,Start,End;

int main()
{
    char Schar,Echar,temp;
    int change;
    int i,j,k,l;
    scanf("%d%d%d",&Start,&End,&weishu);
    scanf("%s",Snum);
    //printf("%s",Snum);
    Schar=Start+‘a‘-1;Echar=End+‘a‘-1;
    //printf("%c %c",Schar,Echar);
    for(j=0;j<5;j++)
    {


    change = 26;
    for(i=weishu-1;i>=0;i--)//判断那一位可以改
    {
        if(Snum[i]<Echar+i-weishu+1)
           {
               change=i;
               break;
           }
    }
    if(change == 26)
        return 0;
    temp=Snum[change];
    for(i=change;i<weishu;i++)
    {
        Snum[i]=++temp;
    }
    printf("%s\n",Snum);
    }
    return 0;
}

  

RQNOJ 前100题 -练手

原文:http://www.cnblogs.com/rainboy/p/3988299.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!