ACM ICPC 2017 Warmup Contest 2[菜鸡选手的成长]
生活随笔
收集整理的这篇文章主要介绍了
ACM ICPC 2017 Warmup Contest 2[菜鸡选手的成长]
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
(队友去过节了 丢下我一个人单挑差点暴零,太菜了.....补题之路 路阻且长)
A
算是水题吧,直接找两个随便割一下,画下图就好....
#include <bits/stdc++.h> using namespace std; typedef struct node{int x;int y; }node; node a[3]; int main(){int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=2;i++) scanf("%d%d",&a[i].x,&a[i].y);if(a[1].x==a[2].x){printf("%d %d %d %d\n",0,a[1].y,n,a[2].y);}else{printf("%d %d %d %d\n",a[1].x,0,a[2].x,m);}return 0; }K:按照题意模拟即可
#include <bits/stdc++.h> using namespace std; typedef struct node{int x,y,z;int biao;friend bool operator<(node a,node b){if(a.z==b.z){if(a.y==b.y) return a.x>b.x;return a.y>b.y;}return a.z>b.z;} }node; node a[105]; int main(){node t;cin>>t.x>>t.y>>t.z;int tt;cin>>tt;int ans=0;for(int i=1;i<=tt;i++) {cin>>a[i].x>>a[i].y>>a[i].z;a[i].biao=i;}sort(a+1,a+tt+1);for(int i=1;i<=tt;i++){if(a[i].z+18<t.z) {ans=a[i].biao;break;}else if(a[i].z+18==t.z){if(a[i].y<t.y) {ans=a[i].biao;break;}else if(a[i].y==t.y){if(a[i].x<=t.x) {ans=a[i].biao;break;}}}}if(ans==0) cout<<"-1"<<endl;else cout<<ans<<endl;// cout<<ans<<endl;return 0; }F:折叠问题 看懂题 然后模拟...推一下
#include <bits/stdc++.h> using namespace std; int main(){int x1,x2;int t1,t2;cin>>x1>>x2>>t1>>t2;if(x1<x2) swap(x1,x2);if(t1<t2) swap(t1,t2);if(x1<t1||x2<t2) cout<<"-1"<<endl;else{int ans=0;int xx1=x1;int xx2=x2;if(xx1!=t1){while(1){if(xx1&1){if((xx1>>1)+1<=t1) {ans++;break;}else {ans++;xx1=(xx1>>1)+1;}}else{if((xx1>>1)<=t1) {ans++;break;}else {ans++;xx1=(xx1>>1);}}}}if(xx2!=t2){while(1){if(xx2&1){if((xx2>>1)+1<=t2) {ans++;break;}else {ans++;xx2=(xx2>>1)+1;}}else{if((xx2>>1)<=t2) {ans++;break;}else {ans++;xx2=(xx2>>1);}}}}int ans1=0;swap(t1,t2);xx1=x1;xx2=x2;if(xx1!=t1){while(1){if(xx1&1){if((xx1>>1)+1<=t1) {ans1++;break;}else {ans1++;xx1=(xx1>>1)+1;}}else{if((xx1>>1)<=t1) {ans1++;break;}else {ans1++;xx1=(xx1>>1);}}}}if(xx2!=t2){while(1){if(xx2&1){if((xx2>>1)+1<=t2) {ans1++;break;}else {ans1++;xx2=(xx2>>1)+1;}}else{if((xx2>>1)<=t2) {ans1++;break;}else {ans1++;xx2=(xx2>>1);}}}}ans=min(ans1,ans);cout<<ans<<endl;}return 0; }G:待补
转载于:https://www.cnblogs.com/wang9897/p/7627085.html
总结
以上是生活随笔为你收集整理的ACM ICPC 2017 Warmup Contest 2[菜鸡选手的成长]的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【Round #36 (Div. 2 o
- 下一篇: 第十二章 类和动态内存分配