河南省第四届ACM程序设计大赛部分答案
2011年河南省在河南科技大学举办的第四届程序设计大赛部分答案。
答案仅供参考
【T1】序号互换
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int Pow(int n,int x)
{
int i,sum=1;
for(i=1;i<=x;i++)
sum*=n;
return sum;
}
int main()
{
char **p,c;
int i,j,k,sum,n,l,*q;
scanf("%d",&n);
p=(char**)malloc(n*sizeof(char*));
for(i=0;i<n;i++)
{
*(p+i)=(char*)malloc(Pow(10,4)*sizeof(char));
scanf("%s",*(p+i));
}
for(i=0;i<n;i++)
{
sum=0;
l=0;
while(*(*(p+i)+l)!='\0')
l++;
if(*(*(p+i))>='A'&&*(*(p+i))<='Z')
{
for(j=0;j<l;j++)
sum+=(*(*(p+i)+j)-'A'+1)*Pow(26,l-1-j);
printf("%d\n",sum);
}
else
{
sum=0;
j=0;
while(*(*(p+i)+j)!='\0')
{
sum+=(*(*(p+i)+j)-'0')*Pow(10,l-1-j);
j++;
}
q=(int*)malloc(l*sizeof(int));
j=0;
while(sum!=0)
{
q[j]=sum%26;
sum=sum/26;
if(q[j]==0)
{q[j]=26;sum--;}
j++;
}
for(k=0;k<j;k++)
printf("%c",(q[j-1-k]-1+'A'));
putchar('\n');
}
}
free(p);
system("psuse");
return 0;
}
【T2】节能
#include<stdio.h>
#include<stdlib.h>
int N,**P;
int main()
{
long digui(int now,long sum,int time);
int i,v;
long Wmin;
scanf("%d",&N);
scanf("%d",&v);
P=(int **)malloc(N*sizeof(int *));
for(i=0;i<N;i++)
{
*(P+i)=(int *)malloc(3*sizeof(int));
scanf("%d%d",*(P+i),*(P+i)+1);
*(*(P+i)+2)=1;
}
Wmin=digui(v-1,0,0);
printf("%ld\n",Wmin);
return 0;
}
long digui(int now,long sum,int time)
{
int i;
long w1=0,w2=0,sum1,sum2,time1,time2;
P[now][2]=0;
for(i=now-1;i>=0;i--)
{
if(P[i][2]==1)
{
time1=time+P[now][0]-P[i][0];
sum1=sum+time1*P[i][1];
w1=digui(i,sum1,time1);
break;
}
}
for(i=now+1;i<N;i++)
{
if(P[i][2]==1)
{
time2=time+P[i][0]-P[now][0];
sum2=sum+time2*P[i][1];
w2=digui(i,sum2,time2);
break;
}
}
P[now][2]=1;
if(w1==0&&w2==0)
return sum;
else
if(w1!=0&&w2!=0)
return w1<w2 ? w1 : w2;
else
if(w1!=0)
return w1;
else
return w2;
}
【T3】表达式求值
【方法一】
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int i,j;
char **p;
int Pow(int x,int y)
{
int k,sum=1;
for(k=0;k<y;k++)
sum*=x;
return sum;
}
int main()
{
int N,sum;
int digui();
scanf("%d",&N);
p=(char**)malloc(N*sizeof(char*));
for(i=0;i<N;i++)
{
*(p+i)=(char*)malloc(300*sizeof(char));
scanf("%s",*(p+i));
}
for(i=0;i<N;i++)
{
j=0;
sum=digui();
printf("%d\n",sum);
}
return 0;
}
int digui()
{
int k=0,l,sum=0,num1,num2;
char *s,c;
c=*(*(p+i)+j++);
if('0'<=c&&c<='9')
{
s=(char*)malloc(4*sizeof(char));
s[0]=c;
k=1;
while('0'<=(c=*(*(p+i)+j++))&&c<='9')
{
s[k]=c;
k++;
}
j--;
l=k;
for(k=0;k<l;k++)
sum+=(s[k]-'0')*Po
w(10,l-1-k);
return sum;
}
else
{
s=(char*)malloc(3*sizeof(char));
s[0]=c;
s[1]=*(*(p+i)+j++);
s[2]=*(*(p+i)+j++);
j++;
num1=digui
2011年河南省在河南科技大学举办的第四届程序设计大赛部分答案。
();
j++;
num2=digui();
j++;
if(s[0]=='a')
return num1+num2;
else
if(s[2]=='n')
return num1<num2 ? num1 : num2;
else
return num1>num2 ? num1 : num2;
}
}
【方法二】
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int Pow(int x,int y)
{
int i,sum=1;
for(i=0;i<y;i++)
sum*=x;
return sum;
}
int main()
{
int i,n,j,m,k,l,N,sum,z1[100],num;
char **p,z2[100][3],s[4],c;
scanf("%d",&N);
p=(char**)malloc(N*sizeof(char*));
for(i=0;i<N;i++)
{
*(p+i)=(char*)malloc(300*sizeof(char));
scanf("%s",*(p+i));
}
for(i=0;i<N;i++)
{
j=k=l=0;
do{
c=*(*(p+i)+j++);
if('0'<=c&&c<='9')
{
s[0]=c;
m=1;
while('0'<=(c=*(*(p+i)+j++))&&c<='9')
{
s[m]=c;
m++;
}
j--;
n=m;
for(num=0,m=0;m<n;m++)
num+=(s[m]-'0')*Pow(10,n-1-m);
z1[k]=num;
k++;
while(z2[l-1][0]==',')
{
k--;
if(z2[l-2][0]=='a')
z1[k-1]=z1[k-1]+z1[k];
else
if(z2[l-2][2]=='n')
z1[k-1]=z1[k-1]<z1[k] ? z1[k-1] : z1[k];
else
z1[k-1]=z1[k-1]>z1[k] ? z1[k-1] : z1[k];
l=l-2;
if(l==0)
sum=z1[0];
}
}
else
if(c==',')
{
z2[l][0]=c;
l++;
}
else
if(c!=')')
{
z2[l][0]=c;
z2[l][1]=*(*(p+i)+j++);
z2[l][2]=*(*(p+i)+j++);
j++;
l++;
}
}while(l!=0);
printf("%d\n",sum);
}
return 0;
}
【T4】走迷宫
#include<stdio.h>
#include<stdlib.h>
int N,**a,**b;
int main()
{
int i,j,max,min,cha;
int digui(int r,int c,int max,int min);
scanf("%d",&N);
a=(int **)malloc(N*sizeof(int *));
b=(int **)malloc(N*sizeof(int *));
for(i=0;i<N;i++)
{
*(a+i)=(i
…… 此处隐藏:3697字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




