【codeforces】【速】Educational Codeforces Round 80 (Rated for Div. 2) A.B

A. 1288. A. Deadline

题意:给出一个x+⌈d/(x+1)⌉ ( x > 0) ,⌈⌉代表取ceil,给出d的值,问你这个函数最小是多少?
题解:看了别人的代码发现好像是求导,这个都没想到,上代码
参考题解:CodeForces-1288 A Deadline

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int main(){
	int T;
	cin>>T;
	while(T--){
		long long n,d;
		cin>>n>>d;
		if(2*sqrt(d)-1<=n)
			printf("YES\n");
		else
			printf("NO\n");
	}
} 

B. 1288. B. Yet Another Meme Problem

题意:计算满足 a⋅b+a+b=conc(a,b)(for example, conc(12,23)=1223conc(12,23)=1223, conc(100,11)=10011conc(100,11)=10011),(1≤a≤A , 1≤b≤B),在1-A, 1-B的范围内有多少个?
题解:这题看了一下,发觉自己当时瓦特了,这就是个代数运算,相当于a(b+1)=a*10^?,所以b+1的值与位数相等,有位数个
参考题解:By Nitish-Srivastava

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

#define int long long

main() {
	int T;
	cin>>T;
	while(T--) {
		int a,b;
		cin>>a>>b;
		int c = log10(b+1);
		cout<<a*c<<endl;
	}
	return 0;
}

写个正常的

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int main() {
	int T;
	cin>>T;
	while(T--) {
		long long a,b;
		cin>>a>>b;
		long long c = log10(b+1);
		cout<<a*c<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43164778/article/details/104012747