大一周赛答案
2016-10-24 19:29
169 查看
1.队花的烦恼:
2.房间安排:
3.猴子吃桃问题
4.正三角形外接圆面积
5.超级台阶
6.最近点对
7 排队:
8.算菜价
9.盗梦空间
所有答案(测试可运行)如上,还有哪里不会可以留言
#include<stdio.h> #include<string.h> int main() { int n; while(~scanf("%d",&n)){ int num[50],temp=1; memset(num,0,sizeof(num)); if(n==0){ printf("0\n"); continue; } while(n>0){ num[temp]=n%2; temp++; n/=2; } for(int i=temp-1;i>=1;i--)printf("%d",num[i]); printf("\n"); } }
2.房间安排:
#include<iostream> #include<string> #include<queue> #include<algorithm> #include<set> #include<cstring> #include<cstdio> using namespace std; int main(){ int test; cin>>test; while(test--){ int day[185]; memset(day,0,sizeof(day)); int n; scanf("%d",&n); while(n--){ int t1,t2,t3; scanf("%d%d%d",&t1,&t2,&t3); for(int i=t2;i<t2+t3;i++)day[i]+=t1; } int ans=0; for(int i=1;i<=180;i++)if(ans<day[i])ans=day[i]; printf("%d\n",ans); } }
3.猴子吃桃问题
#include<stdio.h> #include<string.h> int main() { int test; scanf("%d",&test); int ans[35]; memset(ans,0,sizeof(ans)); ans[0]=1; for(int i=1;i<=30;i++){ ans[i]=ans[i-1]*2+2; } while(test--){ int n; scanf("%d",&n); printf("%d\n",ans ); } }
4.正三角形外接圆面积
#include<stdio.h> #include<string.h> #include<math.h> #define PI 3.1415926 int main() { int test; scanf("%d",&test); while(test--){ double l,ans,r; scanf("%lf",&l); r=l/sqrt(3); ans=PI*r*r; printf("%.2lf\n",ans); } }
5.超级台阶
#include <stdio.h> #include <iostream> #include <queue> #include <algorithm> #include <string.h> using namespace std; int main(){ int test; scanf("%d",&test); int dp[50]; memset(dp,0,sizeof(dp)); dp[2]=1; dp[3]=2; for(int i=4;i<=40;i++){ dp[i]=dp[i-1]+dp[i-2]; } while(test--){ int m; scanf("%d",&m); printf("%d\n",dp[m]); } }
6.最近点对
#include <stdio.h> #include <math.h> #include <stdlib.h> int main(){ int n; while(~scanf("%d",&n),n){ int ans1,ans2; int num[n+1]; for(int i=1;i<=n;i++)scanf("%d",&num[i]); int temp=999999999; for(int i=1;i<n;i++){ for(int j=i+1;j<=n;j++){ if(abs(num[i]-num[j])<temp){ ans1=num[i]; ans2=num[j]; temp=abs(num[i]-num[j]); } else if(abs(num[i]-num[j])==temp && (ans1+ans2)>(num[i]+num[j])){ ans1=num[i]; ans2=num[j]; temp=abs(num[i]-num[j]); } } } printf("%d %d\n",ans1,ans2); } }
7 排队:
#include<stdio.h> #include<string.h> int main(){ int test; scanf("%d",&test); while(test--){ int m,x; scanf("%d%d",&m,&x); int n[m+10]; memset(n,0,sizeof(n)); int people=m; int i=0,j=0;//i代表第几个人报数,j代表这个人报的数字; while(people>1){ if(n[i+1]==0){ i++; j++; } else { i++; } if(j==x){ j=0; n[i]=1; people--; } if(i==m){ i=0; } } for(int i=1;i<=m;i++)if(!n[i]){printf("%d\n",i);} } }
8.算菜价
//. . . . . .(心诚才能看到本题代码 ,如果实在看不到,就试试粉我一波~)
9.盗梦空间
#include<iostream> #include<string> #include<queue> #include<algorithm> #include<set> #include<cstring> #include<cstdio> using namespace std; int main(){ int test;double ans; cin>>test; while(test--){ int n; scanf("%d",&n); double temp=1.0; ans=0.0; while(n--){ char s[10]; scanf("%s",s); if(s[0]=='I')temp*=20.0; else if(s[0]=='O')temp/=20.0; else { double t; scanf("%lf",&t); ans+=t/temp; } } printf("%.0lf\n",ans*60); } }
所有答案(测试可运行)如上,还有哪里不会可以留言
相关文章推荐
- 西邮ThoughtCoding实验室2016纳新笔试题(Java部分,面向大一大二,带参考答案)
- NYIST--2017大一新生第四次周赛题解
- 安徽大学大一高数第八章答案
- 12月份大一周赛解题报告
- 第17周周赛(大一) --A - Parallelepiped
- 第18周周赛(大一)--A - Dubstep
- 第18周周赛(大一)--D - Prizes, Prizes, more Prizes
- 安徽大学大一高数第二章习题册答案
- 安徽大学大一高数第四章答案
- 安徽大学大一高数第三章答案
- 大一上:计算机导论复习(每章分值、常考题型以及部分章节课后习题答案【网上没有,老师自己做的】)
- 2013暑期第二周周赛大一
- 安徽大学大一高数第六章答案更新
- .net面试题及答案(一)(转载)
- 2014Microsoft 校招笔试真题(找工作的虾米们赶紧做题晒答案喽)
- 2016软考程序员试题选择题(含答案解析)
- Spring 69道问题和答案
- 微软的面试题及答案-超变态但是很经典
- [c/c++/OC]高质量的面试题及答案及注解
- hiho#1139 : 二分·二分答案