2015百度之星资格赛题解
来源:互联网 发布:在线编译c语言 编辑:程序博客网 时间:2024/06/01 12:39
1001:
可以看作找规律,其实是组合数学的一道题目。符合要求的对应关系是要么是自己和自己对应,要么是互相对应,即1->2则2->1。
因为对于任何一个数如果他和自己本身对应,那么剩下还有n-1个数;如果他对应别的数(假定是a),那么a一定也和他对应,这样剩下还有n-2
个数,并且他可以对应的数的选择有n-1种,所以,可得递推关系 f[i]=((i-1)*f[i-2]+f[i-1]);
#include<iostream>using namespace std;long long f[1000002];int main(){int T;f[1]=1,f[2]=2;for(int i=3;i<=1000000;i++)f[i]=((i-1)*f[i-2]%1000000007+f[i-1]%1000000007)%1000000007;long long n;cin>>T;int cas=1;while(T--){cin>>n;cout<<"Case #"<<cas++<<":"<<endl;cout<<f[n]<<endl;}return 0;}
1003:
模拟题+字符串处理,用istringstream处理输入的字符串,取出数字进行&操作,最后将地址放入set,自动去重。
注意一点,最后不要偷懒 去掉数字之间的‘.’,因为会造成wa,假如数字分别是8.28和82.8会当作一样的,造成错误。
#include<iostream>#include<set>#include<string>#include<sstream>#include<stack>#include<algorithm>using namespace std;set <string> st;stack <int> stk;int num;int res[1005][5]; int tar[5];int main(){int T,n,m;string s,s1,sk;cin>>T;int cas=1;while(T--){cin>>n>>m;for(int i=1;i<=n;i++){int p=1; cin>>sk; for(int k=0;k<sk.length();k++) if(sk[k]=='.') sk[k]=' '; istringstream inna(sk); while(inna>>num) { res[i][p++]=num; } }int op=1; cout<<"Case #"<<cas++<<":"<<endl;for(int i=1;i<=m;i++){st.clear();cin>>s1;for(int k=0;k<s1.length();k++) if(s1[k]=='.') s1[k]=' ';istringstream in(s1);int tarn=1;while(in>>num){tar[tarn++]=num;}for(int i=1;i<=n;i++){ string nnn;for(int j=1;j<=4;j++){ int now=tar[j]&res[i][j]; while(now){stk.push(now%10);now/=10;}while(!stk.empty()){ nnn+=stk.top()+'0'; stk.pop();}nnn+='.';//坑比 } st.insert(nnn);} cout<<st.size()<<endl;}}return 0;}
1004 简单的博弈,也算计算几何吧。 hint里面有提示,所以根据nim博弈的规则,只要先手能将盘子放入中央,那么一定获胜,因为要么后手放不下,要么先手总是可以和后手关于中心对称放置,取得胜利。画下图,简单的几何关系。
#include<iostream>#include<cmath>using namespace std;#define pi 3.14159265358int main(){int T;cin>>T;double n,a,r;int cas=1;while(T--){cin>>n>>a>>r;double cur=0.0;cur=a/2/(tan(pi/n));cout<<"Case #"<<cas++<<":"<<endl;if(r<=cur)cout<<"Give me a kiss!"<<endl;else cout<<"I want to kiss you!"<<endl;}return 0;}
1 0
- 2015百度之星资格赛题解
- 2014百度之星资格赛题解
- 2016年百度之星资格赛题解
- 2017百度之星资格赛题解
- 2015百度之星资格赛
- 2014年百度之星程序设计大赛 - 资格赛题解
- 2016"百度之星" - 资格赛(Astar Round1) 题解
- 百度之星资格赛
- 百度之星2015资格赛#1002
- 百度之星资格赛2015IP聚合
- 2015百度之星资格赛1003
- 2015百度之星资格赛1001
- 百度之星2015资格赛#1001
- 百度之星2015资格赛#1003
- 2015百度之星资格赛1002
- 2015百度之星资格赛1004
- 2015百度之星资格赛1001
- 2015百度之星资格赛系列
- Bitnami-Redmine备份迁移恢复
- akka入门-远程调用
- socket编程基础
- HUST 1408 公交系统
- Altium Designer 10学习
- 2015百度之星资格赛题解
- svg初接触
- CSS3实现曲线阴影和翘边阴影
- Notepad++ Plugin 之 AndroidLogger
- final/abstract/static类的规则对比
- 【Fragment精深系列1】Fragment基础
- SQL Server创建存储过程 [转]
- acm小组的贪吃蛇
- Python笔记:浅谈with语句