Educational Codeforces Round 122 (Rated for Div. 2) A-D题解
Posted ZZXzzx0_0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Educational Codeforces Round 122 (Rated for Div. 2) A-D题解相关的知识,希望对你有一定的参考价值。
A. Div. 7
思路:
注
意
n
>
=
10
,
说
明
一
定
是
两
位
数
注意n>=10,说明一定是两位数
注意n>=10,说明一定是两位数
并
且
7
个
一
循
环
,
直
接
枚
举
这
位
数
的
最
后
一
位
并且7个一循环,直接枚举这位数的最后一位
并且7个一循环,直接枚举这位数的最后一位
暴
力
判
断
是
否
可
行
即
可
暴力判断是否可行即可
暴力判断是否可行即可
时间复杂度:
O
t
Ot
Ot
#include <bits/stdc++.h>
#define fer(i,a,b) for(re i = a ; i <= b ; ++ i)
#define der(i,a,b) for(re i = a ; i >= b ; -- i)
#define cf int _; cin>> _; while(_--)
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
#define sf(x) scanf("%lld",&x)
#define pll pair<int,int>
#define re register int
#define lb lower_bound
#define ub upper_bound
#define int long long
#define pb push_back
#define y second
#define x first
using namespace std;
inline void sf2(int &a , int &b) sf(a) , sf(b) ;
inline void sf3(int n , int a[]) fer(i,1,n) sf(a[i]); ;
inline void de(auto x) cout << x << "\\n" ;
inline void de2(auto a , auto b) cout << a << " " << b << "\\n" ;
inline void de3(int n , auto a[])fer(i,1,n) cout << a[i] << " " ;puts("");
inline void mo(int &a , int b) a = (a % b + b) % b ;
inline int gcd(int a,int b)return b ? gcd(b , a % b) : a ;
inline int qpow(int a,int b,int c)int res=1%c;a%=c;while(b>0)if(b&1)res=res*a%c;a=a*a%c;b>>=1;return res;
inline int qadd(int a,int b,int c)int res=0;a%=c;while(b>0)if(b&1)res=(res+a)%c;a=(a+a)%c;b>>=1;return res;
const int inf = 0x3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f ;
const int N = 1e6 + 10 , M = 3010 , mod = 1e9 + 7 ;
const double eps = 1e-7 , pi = acos(-1.0) ;
signed main()
cf
int n ;
cin >> n ;
if(n % 7 == 0) de(n) ;
else
string s = to_string(n) ;
for(char i = '0' ; i <= '9' ; i ++)
s[sz(s) - 1] = i ;
if(stoi(s) % 7 == 0)
de(s) ;
break ;
return 0;
B. Minority
思路:
假
设
该
字
符
串
0
的
数
量
为
a
假设该字符串0的数量为a
假设该字符串0的数量为a
1
的
数
量
为
b
1的数量为b
1的数量为b
如
果
a
=
b
,
显
然
答
案
为
m
a
x
(
a
−
1
,
0
)
如果a=b,显然答案为max(a-1,0)
如果a=b,显然答案为max(a−1,0)
如
果
a
>
b
,
答
案
为
b
如果a>b,答案为b
如果a>b,答案为b
如
果
a
<
b
,
答
案
为
a
如果a<b,答案为a
如果a<b,答案为a
时间复杂度:
O
n
On
On
#include <bits/stdc++.h>
#define fer(i,a,b) for(re i = a ; i <= b ; ++ i)
#define der(i,a,b) for(re i = a ; i >= b ; -- i)
#define cf int _; cin>> _; while(_--)
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
#define sf(x) scanf("%lld",&x)
#define pll pair<int,int>
#define re register int
#define lb lower_bound
#define ub upper_bound
#define int long long
#define pb push_back
#define y second
#define x first
using namespace std;
inline void sf2(int &a , int &b) sf(a) , sf(b) ;
inline void sf3(int n , int a[]) fer(i,1,n) sf(a[i]); ;
inline void de(auto x) cout << x << "\\n" ;
inline void de2(auto a , auto b) cout << a << " " << b << "\\n" ;
inline void de3(int n , auto a[])fer(i,1,n) cout << a[i] << " " ;puts("");
inline void mo(int &a , int b) a = (a % b + b) % b ;
inline int gcd(int a,int b)return b ? gcd(b , a % b) : a ;
inline int qpow(int a,int b,int c)int res=1%c;a%=c;while(b>0)if(b&1)res=res*a%c;a=a*a%c;b>>=1;return res;
inline int qadd(int a,int b,int c)int res=0;a%=c;while(b>0)if(b&1)res=(res+a)%c;a=(a+a)%c;b>>=1;return res;
const int inf = 0x3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f ;
const int N = 1e6 + 10 , M = 3010 , mod = 1e9 + 7 ;
const double eps = 1e-7 , pi = acos(-1.0) ;
signed main()
cf
string s ;
int s1 = 0 , s2 = 0 ;
cin >> s ;
for(auto i : s)
if(i == '1') s1 ++ ;
else s2 ++ ;
if(s1 == s2) de(max(s1 - 1 , 0ll)) ;
else if(s1 > s2) de(s2) ;
else de(s1) ;
return 0;
C. Kill the Monster
思路:
注
意
到
k
的
总
和
为
2
e
5
注意到k的总和为2e5
注意到k的总和为2e5
那
么
我
们
可
以
枚
举
生
命
h
c
加
i
次
,
攻
击
d
c
加
k
−
i
次
那么我们可以枚举生命hc加i次,攻击dc加k-i次
那么我们可以枚举生命hc加i次,攻击dc加k−i次
o
1
判
断
即
可
o1判断即可
o1判断即可
时
间
复
杂
度
o
k
时间复杂度ok
时间复杂度ok
如
何
o
1
判
断
如何o1判断
如何o1判断
敌
人
杀
死
我
需
要
⌈
h
c
d
m
⌉
个
回
合
敌人杀死我需要\\lceil \\frachcdm \\rceil个回合
敌人杀死我需要⌈dmhc⌉个回合
我
杀
死
敌
人
需
要
⌈
h
m
d
c
⌉
个
回
合
我杀死敌人需要\\lceil \\frachmdc \\rceil个回合
我杀死敌人需要⌈dchm⌉个回合
即
即
即
⌈
h
c
d
m
⌉
>
=
⌈
h
m
d
c
⌉
\\lceil \\frachcdm \\rceil >= \\lceil \\frachmdc \\rceil
Educational Codeforces Round 7 A
Educational Codeforces Round 7
Educational Codeforces Round 90
Educational Codeforces Round 33