15级竞赛组周赛(3)题解(12.22.15)
2015-12-22 14:37
281 查看
URL: 15级竞赛组周赛(3)
黄图哥反映pow函数有精度问题,所以还是自己乘7次吧
条件判断有点麻烦,多调试就好了
关于error的判断:按1,2,3…,n的顺序进栈,如果某一时刻数据要求 i 出栈,而此时进栈的数字已经到了 j ( i<j),直接就不成立,输出error。
做题之前先总览一下好么……签到题都不做我看着真着急……
写题解之前改了一下代码,没再次提交,应该不会有问题。
A
开始数据有问题,后来重判了黄图哥反映pow函数有精度问题,所以还是自己乘7次吧
#include <stdio.h> inline int pow7(int n){return n*n*n*n*n*n*n;} int main(void) { int num; while(~scanf("%d",&num)){ int tmp=num,sum=0; while(tmp>0){ sum += pow7(tmp%10); tmp /= 10; } printf("%c\n",sum==num?'Y':'N'); } return 0; }
B
10到100人别超限#include <stdio.h> int main(void) { int a,b,c; while(~scanf("%d%d%d",&a,&b,&c)){ bool get=false; for(int i=10;i!=101;++i){ if(i%3==a && i%5==b && i%7==c){ printf("%d\n",i); get=true; break; } } if(!get)printf("No answer\n"); } return 0; }
C
只有可能是一位数和两位数,ifelse列举一下就好了#include <stdio.h> #include <string.h> char number[][8]={"zero","one","two","three","four","five","six","seven","eight","nine"}; int find(char *s) { for(int i=0;i<10;i++) if(strcmp(s,number[i])==0) return i; } int main() { char a[8],b[8]; int A,B; while(scanf("%s %s",a,b)!=EOF) { if(strcmp(b,"+")==0) A=find(a); else { A=find(a)*10+find(b); scanf("%s",a); } scanf("%s %s",a,b); if(strcmp(b,"=")==0) B=find(a); else { B=find(a)*10+find(b); scanf("%s",a); } if(A==0&&B==0) break; printf("%d\n",A+B); } return 0; }
D
这不就是火车进栈站吗?条件判断有点麻烦,多调试就好了
关于error的判断:按1,2,3…,n的顺序进栈,如果某一时刻数据要求 i 出栈,而此时进栈的数字已经到了 j ( i<j),直接就不成立,输出error。
#include <stdio.h> #include <iostream> #include <stack> using namespace std; int main(void) { int N; while(~scanf("%d",&N)){ int out[1245]; for(int i=1;i<=N;++i)scanf("%d",&out[i]); int toin=1,toout=1; stack<int> stk; while(1){ if(toout>N)break; if((toin>N||toin>out[toout]) && out[toout]!=stk.top()){ printf(" error"); break; } if(toin==out[toout]){ ++toin; ++toout; printf("PQ"); continue; } if(!stk.empty() && out[toout]==stk.top()){ stk.pop(); ++toout; putchar('Q'); continue; } if(stk.empty() || out[toout]!=stk.top()){ stk.push(toin); ++toin; putchar('P'); continue; } } putchar('\n'); } return 0; }
E
YES!做题之前先总览一下好么……签到题都不做我看着真着急……
写题解之前改了一下代码,没再次提交,应该不会有问题。
相关文章推荐
- DOM操作
- 一种反转字符串的巧妙解法
- 【内核】linux内核启动流程详细分析【转】
- Discuz3.2与Java 项目整合单点登陆
- C#平衡树(AVLTree)
- 基于Android实现保存图片到本地并可以在相册中显示出来
- 编写自己的Exception
- 华为服务器RAID卡电池报错
- 整合阿里云OSS文件上传1
- bluedroid acl 发送和接受
- 每天学点Python之dict
- mysql 查询正则表达式
- 阿里 MYSQL 月报汇总
- WinForm和数据库的连接
- 静态变量-static关键词
- 重启机器解决SSL都要输入密码问题
- 使用Xcode和Instruments调试解决iOS内存泄露
- UVA 4566 - Resistors
- $.getJson()方法
- c++ builder 简单读、分析网页数据