CF刷题杂

2022/5/2 6:14:29

本文主要是介绍CF刷题杂,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 延长数

3.12 1647A

image

点击查看代码
int t;
	int a,cnt=0,i;
	//尝试你应该报名参加比赛×能够屈服  1
	//找出十进制数中最大的且不含0的相同数字不相临的数 a最大 1000 
	//很明显答案只能由不相临重复的1,2 构成(其他的会减少位数)
	/*
	因为2 和 1 的个数只能差一个 
1
2
21
121  4
212 5
2121  6  
12121  7  很明显奇数 1开头 增长位数
21212   8
212121   9
1212121   10
2121212    11
21212121    12
121212121    13 
1: 后加(n/3)个21  2: 加(n/3)个12   3:21后+(n/3) 21 
	*/ 
	cin>>t;
	while(t--){
		cin>>a;
		if(a%3==1){
		 cout<<"1";
		 for(i=1;i<=(a-1)/3;i++) cout<<"21"; 
		 cout<<endl;
	}
	else if(a%3==2){
		cout<<"2";
		for(i=1;i<=(a-2)/3;i++) cout<<"12"; 
		cout<<endl;
	}
	else {
		cout<<"21";
		for(i=1;i<=(a-3)/3;i++) cout<<"21"; 
		cout<<endl;
	}
}

给定个数、和 求最大平方个数

3.15 1646A

评价:题目描述的太复杂了 当时还想着n+1

点击查看代码
int t;
	cin>>t;
	while(t--){
		long long n,s;
		cin>>n>>s;
		cout<<s/(n*n)<<endl;
		//知n数字数   s和     求n^2的个数   [0,n)   n+1数序列 
	}

给n 问下标几赢 (2^n-1)

3.15 1651A

点击查看代码
//读题简化 知 给n 问下标几赢
	//比赛时,若和为奇数 下标小赢  反之 下标大的赢
	//看看有规律没  或直接模拟  只有30  (刚好int范围) 
	// 2 是3赢  4是15赢   观察图显然可知 
	int t,a[32]={1,3,7,15},k=2,i;
	for(i=1;i<=30;i++){
		a[i]=k-1;
		k*=2;
	}
	cin>>t;	
	while(t--){
		int n;
		cin>>n;
		cout<<a[n]<<endl;
	}


这篇关于CF刷题杂的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程