当前位置:网站首页>Educational Codeforces Round 122 (Rated for Div. 2)

Educational Codeforces Round 122 (Rated for Div. 2)

2022-07-06 16:41:00 Dog egg L

A. Div. 7

subject :
You are given an integer n. You have to change the minimum number of digits in it in such a way that the resulting number does not have any leading zeroes and is divisible by 7.

If there are multiple ways to do it, print any of them. If the given number is already divisible by 7, leave it unchanged.

Input

3
42
23
377

Output

42
28
777

Chinese translation :
Here you are. n Number , Change one digit of these numbers , Let him become 7 The integer of , If there are multiple answers , Just output one ( Baidu translation is the smallest digit , But one of the examples is not me, so I didn't do it )
Code :

#include <iostream>
using namespace std;
int main()
{
    
	int n;
	cin>>n;
	while(n--)
	{
    
		int q;
		cin>>q;
		if(q%7==0)
		{
    
			cout<<q<<endl;
		}
		else 
		{
    
			int k=q%10;
			q-=k;
			for(int i=1;i<=9;i++)
			{
    
				q+=i;
				if(q%7==0)
				{
    
					cout<<q<<endl;
					break;
				}
				else 
				{
    
					q-=i;
				}
			}
		}
	 } 
    return 0;
}

B. Minority

subject :
You are given a string s, consisting only of characters ‘0’ and ‘1’.

You have to choose a contiguous substring of s and remove all occurrences of the character, which is a strict minority in it, from the substring.

That is, if the amount of '0’s in the substring is strictly smaller than the amount of '1’s, remove all occurrences of ‘0’ from the substring. If the amount of '1’s is strictly smaller than the amount of '0’s, remove all occurrences of ‘1’. If the amounts are the same, do nothing.

You have to apply the operation exactly once. What is the maximum amount of characters that can be removed?

Input

4
01
1010101010111
00110001000
1

Output

0
5
3
0

Chinese translation :
Here's a string , If 0 Than 1 Delete all more 1, If 1 Than 0 Delete all more 0, According to the translation, if it is equal, do not operate , But I handed it in for the first time wr 了 , Then I compared the sample answers , If you find the same, output this value -1 Just go . It may also be Baidu translation that I don't understand .

Code :

#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
    
	int n;
	cin>>n;
	while(n--)
	{
    
		string s;
		cin>>s;
		int l=0,y=0;
		for(int i=0;i<s.length();i++)
		{
    
			if(s[i]=='0')
			{
    
				l++;
			}
			else if(s[i]=='1')
			{
    
				y++;
			}
		}
		if(l==0||y==0)
		{
    
			cout<<0<<endl;
		}
		else if(l==y)
		{
    
			cout<<l-1<<endl;
		}
		else 
		{
    
			cout<<min(l,y)<<endl;
		}
	}
	
    return 0;
}

C. Kill the Monster

subject :
Monocarp is playing a computer game. In this game, his character fights different monsters.
A fight between a character and a monster goes as follows. Suppose the character initially has health hC and attack dC; the monster initially has health hM and attack dM. The fight consists of several steps:

  • the character attacks the monster, decreasing the monster’s health by
    dC;

  • the monster attacks the character, decreasing the character’s health
    by dM;

  • the character attacks the monster, decreasing the monster’s health by
    dC;

  • the monster attacks the character, decreasing the character’s health
    by dM;

  • and so on, until the end of the fight.

The fight ends when someone’s health becomes non-positive (i. e. 0 or less). If the monster’s health becomes non-positive, the character wins, otherwise the monster wins.

Monocarp’s character currently has health equal to hC and attack equal to dC. He wants to slay a monster with health equal to hM and attack equal to dM. Before the fight, Monocarp can spend up to k coins to upgrade his character’s weapon and/or armor; each upgrade costs exactly one coin, each weapon upgrade increases the character’s attack by w, and each armor upgrade increases the character’s health by a.

Can Monocarp’s character slay the monster if Monocarp spends coins on upgrades optimally?

Input

4
25 4
9 20
1 1 10
25 4
12 20
1 1 10
100 1
45 2
0 4 10
9 2
69 2
4 2 7

Output

YES
NO
YES
YES

Chinese translation :
Play games alone , This game is to kill all kinds of monsters , Characters and monsters have blood bars and attack power , The first line is the character's blood bar and attack power , The second line is monster , The third line is coins , Equipment that can increase blood and attack power , Ask if you can kill this monster

Code :

#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
    
	int n;
	cin>>n;
	while(n--)
	{
    
		
	long long int hc,dc,hm,dm;
	cin>>hc>>dc>>hm>>dm;
	long long int k,w,a;
	cin>>k>>w>>a;
 
	long long int nhc,ndc;
 
	for(long long int i=0;i<=k;i++){
    
		nhc = i* a +hc;
		ndc = (k-i)* w + dc;
		if((hm + ndc - 1)/ ndc <= (nhc + dm - 1)/ dm){
    
			cout<<"YES\n";
			break;
		}
		if(i==k)
		{
    
			cout<<"NO\n";
		} 
	}
 
	}
    return 0;
}
原网站

版权声明
本文为[Dog egg L]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060920335833.html