2020.10.30个人赛
d题:没做出来原因是没准确找到规律,原来只要机场号相等则免费,不相等时只需花一。
#include<bits/stdc++.h>
#include<algorithm>
#define ll long long
using namespace std;
const ll nl=1e5+5;
int main(){
ll n,a,b;
cin>>n;
cin>>a;
cin>>b;
string m;
cin>>m;
ll i;
if(m[a-1]==m[b-1]){
cout<<"0";
}else{
cout<<"1";
}
}
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll nl=1e5+5;
int main(){
ll n,m;
cin>>n;
cin>>m;
ll i;
ll a;
a=pow(2,n)-1;
while(1){
if(m==a/2+1){
cout<<n;
break;
}else{
a/=2;
n--;
}
if(m>a){
m-=a+1;
}
}
}
f题:f题挺简单的,就是当时题没显示全。注意当n==1时,输出-1.
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll nl=1e5+5;
int main(){
ll n;
cin>>n;
if(n==1){
cout<<"-1";
}else{
cout<<n<<" ";
cout<<n+1<<" ";
cout<<n*(n+1);
}
}
浙公网安备 33010602011771号