这次是在玩的空闲时间签了两个签到,本来是只想写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";
}
}
京公网安备 11010502036488号