前言
第一场Div2的补题
A - BowWow and the Timetable
没什么好说的,2进制,2的100次方,4的次方,这些条件都暗示着解题方法就是2进制
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char a[105];
int m;
cin>>a;
m=strlen(a);
bool t=false;
for(int i=1;i<=m-1;i++){
if(a[i]=='1'){
t=true;
break;
}
}
int ans = m;
if(t==false&&(ans % 2 == 1))
ans = (ans-1) / 2;
else
ans = (ans + 1) /2;
cout<<ans<<endl;
}
B - Mislove Has Lost an Array
比上一题还简单
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
int m1,l,r;
cin>>m1>>l>>r;
ll MIN,MAX;
MIN = (m1 - l) + (1<<l)-1;
MAX = (m1 - r + 2) * (1<<(r-1)) - 1;
cout<<MIN<<' '<<MAX;
}