NOIP2017提高组
来源:互联网 发布:sql case的用法 编辑:程序博客网 时间:2024/05/03 22:31
D1T1
题意:
给两种面值分别为a,b的纸币无限张,求最大的一个数,使得在不找零的情况下无法通过两种纸币的组合得到这个数。
分析:
1、设这个数为c,如果能组合出,那么有方程ax+by=c,题目保证了gcd(a,b)==1,所以c始终能被gcd(a,b)整除;
2、于是如果x,y可负,此方程一定有解。所以知道x或y为负的时候就是不符合的c;
3、要求最大的c,于是(x==-1,y==a-1)或(y==-1,x==b-1);
代码:
#include <cstdio>#include <algorithm>#include <cstring>using namespace std;int main(){ long long a,b,ans; scanf("%lld%lld",&a,&b); ans=b*(a-1)-a; ans=max(ans,a*(b-1)-b); printf("%lld",ans); return 0;}
D1T2
没写
D1T3
待补充
D2T1
分析:
简单的bfs
代码:
#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <queue>//#include <vector>using namespace std;typedef long long ll;const int Tmax=1005;ll h,r,x[Tmax],y[Tmax],z[Tmax];int n;bool G[Tmax][Tmax],v[Tmax];//vector<int> G[Tmax];queue<int> Q;double dist(int a,int b){ return sqrt(1.0*((x[a]-x[b])*(x[a]-x[b]))+1.0*(y[a]-y[b])*(y[a]-y[b])+1.0*(z[a]-z[b])*(z[a]-z[b]));}void work(){ int i,tmp; Q.push(0); v[0]=true; while(!Q.empty()) { tmp=Q.front(); Q.pop(); for(i=1;i<=n+1;i++) if(G[tmp][i]==true&&v[i]==false) { v[i]=true; Q.push(i); } } return;}int main(){ int T,i,j; scanf("%d",&T); while(T--) { memset(G,0,sizeof(G)); memset(v,0,sizeof(v)); //while(!Q.empty()) Q.pop(); scanf("%d%lld%lld",&n,&h,&r); for(i=1;i<=n;i++) { scanf("%lld%lld%lld",&x[i],&y[i],&z[i]); if(z[i]-r<=0&&z[i]+r>=0) G[0][i]=G[i][0]=true; if(z[i]-r<=h&&z[i]+r>=h) G[n+1][i]=G[i][n+1]=true; } for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(dist(i,j)<=(double)(2.0*r)) G[i][j]=G[j][i]=1; work(); if(v[n+1]==true) printf("Yes\n"); else printf("No\n"); } return 0;}
后续待补充。。。
阅读全文
0 0
- 【NOIP2017提高组】轰炸
- Noip2017提高组Day1
- NOIP2017提高组游记
- NOIP2017提高组小记
- 【总结】NOIP2017 提高组
- NOIP2017提高组总结
- NOIP2017 提高组 题解
- NOIP2017提高组总结
- NOIP2017提高组D1
- NOIP2017提高组D2
- NOIP2017提高组
- 【noip2017提高组总结】
- NOIP2017提高组初赛题解
- NOIP2017提高组预赛详解
- noip2017提高组初赛答案
- 【NOIP2017提高组】好路线
- NOIP2017提高组爆炸记
- Noip2017提高组 退役记
- shell
- 机器学习_规则与关联规则模型Apriori、FP-Growth
- nodejs加密模块使用
- Jedis简介
- 使用命令快速重置更新git仓库
- NOIP2017提高组
- opencv 几种substactor方法
- 安卓文件操作全解:内部文件、公共文件、私有文件、app静态文件
- java bean对象去掉所以属性两边空格
- TensorFlow基础name_scope与variable_scope
- CUDA:对齐内存访问、展开循环提高运算性能
- html表格
- 编译的坑_2
- [caffe笔记010]:使用NetSpec构建网络结构的一些问题