西工大C语言POJ作业文档格式.docx

上传人:b****5 文档编号:20721170 上传时间:2023-01-25 格式:DOCX 页数:18 大小:808.91KB
下载 相关 举报
西工大C语言POJ作业文档格式.docx_第1页
第1页 / 共18页
西工大C语言POJ作业文档格式.docx_第2页
第2页 / 共18页
西工大C语言POJ作业文档格式.docx_第3页
第3页 / 共18页
西工大C语言POJ作业文档格式.docx_第4页
第4页 / 共18页
西工大C语言POJ作业文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

西工大C语言POJ作业文档格式.docx

《西工大C语言POJ作业文档格式.docx》由会员分享,可在线阅读,更多相关《西工大C语言POJ作业文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

西工大C语言POJ作业文档格式.docx

T092、Sticks

string.h>

stdlib.h>

intlen[64],n,minlen,get;

boolb[64];

intcmp(constvoid*a,constvoid*b)

return*(int*)a<

*(int*)b?

1:

-1;

booldfs(intnowlen,intnowget,intcnt)

if(cnt>

=n)returnfalse;

if(get==nowget)returntrue;

inti;

boolf=false;

if(nowlen==0)f=true;

for(i=cnt;

i<

n;

i++)

{

if(!

b[i])

if(len[i]+nowlen==minlen)

b[i]=true;

if(dfs(0,nowget+1,nowget))

returntrue;

b[i]=false;

returnfalse;

}

elseif(len[i]+nowlen<

minlen)

if(dfs(nowlen+len[i],nowget,i+1))

if(f)returnfalse;

while(i+1<

n&

&

len[i]==len[i+1])i++;

inti,tollen;

while(scanf("

&

n),n)

tollen=0;

intj=0,p;

for(i=0;

scanf("

p);

if(p<

=50)

len[j]=p;

tollen+=len[j];

j++;

n=j;

if(n==0)

printf("

0\n"

);

continue;

qsort(len,n,sizeof(int),cmp);

for(minlen=len[0];

;

minlen++)

if(tollen%minlen)continue;

memset(b,0,sizeof(b));

get=tollen/minlen;

if(dfs(0,0,0))

%d\n"

minlen);

break;

return0;

T093、Checksumalgorithm:

chara[256];

inti,sum;

while(gets(a)&

a[0]!

='

#'

sum=0;

a[i]!

\0'

;

if(a[i]!

'

sum+=(i+1)*(a[i]-64);

sum);

T094、Bee:

intn,a,b,sum,i,t;

while(scanf("

n)!

=EOF&

n!

=-1)

a=1,b=0,sum=0;

t=a;

a=b+1;

b=t+b;

sum=a+b;

b,sum);

T095、Graveyard:

math.h>

intn,m,i;

doubles,a;

while((scanf("

%d%d"

n,&

m))!

=EOF)

if(n==0&

m==0)break;

s=0;

for(i=1;

a=i*1.0/n*(n+m);

s+=fabs(a-floor(a+0.5))/(n+m);

/*放缩坐标系floor(a+0.5))/(n+m)

找到离这个对应坐标的最近一个点取得距离累加移动距离*/

%.4f\n"

s*10000);

T096、Roadtrip

#include<

intn,i,speed,hour,h,s;

//s是路程,h是上次的时间

n)&

n!

s=0;

h=0;

for(i=1;

=n;

%d%d"

speed,&

hour);

s+=speed*(hour-h);

h=hour;

s);

T097、HanoiII

#defineM70

intstart[M],targe[M];

longlongf(int*p,intk,intfina)

if(k==0)return0;

if(p[k]==fina)returnf(p,k-1,fina);

returnf(p,k-1,6-fina-p[k])+(1LL<

<

(k-1));

intmain()

longlongans;

intn,cas=0;

for(inti=1;

=n;

i++)scanf("

start[i]);

targe[i]);

intc=n;

for(;

c>

=1&

start[c]==targe[c];

c--);

if(c==0){printf("

intother=6-start[c]-targe[c];

ans=f(start,c-1,other)+f(targe,c-1,other)+1;

%lld\n"

ans);

T098、Redistributewealth

longlongmoney[1000001];

longlongC[1000001];

intn,t,i,j;

n)==1)

inti;

longlongsum=0;

for(i=1;

++i)

%lld"

money[i]);

sum+=money[i];

longlongM=sum/n;

C[1]=money[1]-M;

C[0]=0;

for(i=2;

=n-1;

{C[i]=C[i-1]+money[i]-M;

n-1;

for(j=0;

j<

n-1-i;

j++)

if(C[j]>

C[j+1])

t=C[j];

C[j]=C[j+1];

C[j+1]=t;

longlongmid=C[n/2];

longlongsum1=0;

for(i=0;

sum1+=abs(mid-C[i]);

sum1);

T099、Dexterneedhelp:

intfun(inta)

if(a==1)return1;

else

returnfun(a/2)+1;

inta,x;

a)&

a!

=0)

x=fun(a);

x);

T100、SpecializedNumbers

intfun(inti,intr)

ints=0;

while(i)

s+=i%r;

i/=r;

returns;

for(i=2992;

10000;

if(fun(i,10)==fun(i,12)&

fun(i,12)==fun(i,16))

i);

(3)#include<

inti,n,sum10,sum12,sum16;

for(i=2992;

i<

i++){

n=i;

sum10=0;

while(n){

sum10+=n%10;

n/=10;

sum12=0;

sum12+=n%12;

n/=12;

sum16=0;

sum16+=n%16;

n/=16;

if(sum10==sum12&

sum12==sum16)printf("

i);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1