这次是在玩的空闲时间签了两个签到,本来是只想写E水个抽奖资格,后来发现A似乎也能写就由水一道,这个题解呢算是对两题的一个回顾。
先说E(嘻嘻)。高中时记得有个数学题是让比较大小的,现在想这个题觉得不会很难,毕竟过了很多人。就简单列了一下,然后提交,一发过,看来想的没错,以后可以记着了。我们分以下几种情况来看:
(1)x,y相等
(2)x,y不等,有一个为1
(3)x,y不等,且都大于2
那么我们只需要考虑第三种情况就好了。对于第三种情况,我们先假定x<y,然后我试了2,3;2,4;2,5;3,4;四组数据,计算比较就知道规律了。除了2,3是小于;2,4是等于;其余都是大于。emmmm,猜对了。
#include<iostream> using namespace std; int main() { int x,y; cin>>x>>y; if(x==y) { cout<<"="; } else { int f=0; if(x>y) { int temp=x; x=y; y=temp; f=1; } if(x==2&&y==3) { if(f) cout<<">"; else cout<<"<"; } else if(x==2&&y==4) { cout<<"="; } else if(x==1) { if(f) { cout<<">"; } else { cout<<"<"; } } else { if(f) { cout<<"<"; } else { cout<<">"; } } } }
再说一下A。看一下数据范围,不大,可以暴力,就这么几个点,无非是先捡后捡,那么就直接给每个点标号,做个全排列,都计算一下取最小。过了的时候还是很开心的,这次用到了一个next_permutation这次是在玩的空闲时间签了两个签到,本来是只想写E水个抽奖资格,后来发现A似乎也能写就由水一道,这个题解呢算是对两题的一个回顾。
先说E(嘻嘻)。高中时记得有个数学题是让比较大小的,现在想这个题觉得不会很难,毕竟过了很多人。就简单列了一下,然后提交,一发过,看来想的没错,以后可以记着了。我们分以下几种情况来看:
(1)x,y相等
(2)x,y不等,有一个为1
(3)x,y不等,且都大于2
那么我们只需要考虑第三种情况就好了。对于第三种情况,我们先假定x<y,然后我试了2,3;2,4;2,5;3,4;四组数据,计算比较就知道规律了。除了2,3是小于;2,4是等于;其余都是大于。emmmm,猜对了。
#include<iostream> using namespace std; int main() { int x,y; cin>>x>>y; if(x==y) { cout<<"="; } else { int f=0; if(x>y) { int temp=x; x=y; y=temp; f=1; } if(x==2&&y==3) { if(f) cout<<">"; else cout<<"<"; } else if(x==2&&y==4) { cout<<"="; } else if(x==1) { if(f) { cout<<">"; } else { cout<<"<"; } } else { if(f) { cout<<"<"; } else { cout<<">"; } } } }
再说一下A。看一下数据范围,不大,可以暴力,就这么几个点,无非是先捡后捡,那么就直接给每个点标号,做个全排列,都计算一下取最小。过了的时候还是很开心的,这次用到了一个next_permutation函数,之前用的比较少,也算是加深印象。
#include<iostream> #include<algorithm> using namespace std; int main() { int t; cin>>t; while(t--) { int m,n; cin>>n>>m; int a[11]={0},b[11]={0},c[11]={0}; cin>>a[0]>>b[0]; int k; cin>>k; for(int i=1;i<=k;++i) { c[i]=i; cin>>a[i]>>b[i]; } int res=-1; do { int num=0; for(int i=1;i<=k;++i) { num+=abs(a[c[i]]-a[c[i-1]])+abs(b[c[i]]-b[c[i-1]]); } num+=abs(a[c[k]]-a[0])+abs(b[c[k]]-b[0]); if(res==-1) res=num; else res=min(res,num); }while(next_permutation(c+1,c+k+1)); cout<<"The shortest path has length "<<res<<"\n"; } }