洛谷 CF1107A 题解

题目传送门


思路:

这道题可以分情况考虑:

  • N=2,并且 s0s1可以分解。如果 s0>s1不可以分解。
  • N>2,肯定可以分解,把 s 分成两部分,s0 为一部分,剩下的为一部分。
  • N<2,肯定不可以分解。

代码:

#include <bits/stdc++.h>
using namespace std;
int q,n;
string str; 
int main(){
	cin>>q;
	while(q--){
		cin>>n>>str;
		if(n<2){	//n的值小于2肯定不可以 
			cout<<"NO"<<endl;
		}
		else if(n>2){	//n的值大于2肯定可以成功 
			cout<<"YES"<<endl; 
			cout<<"2"<<endl;
			cout<<str[0]<<" ";
			for(int i=1;i<n;i++)	cout<<str[i];
			cout<<endl;
		}
		else if(n==2){
			if(str[0]-'0'>=str[1]-'0'){
				cout<<"NO"<<endl; 
			}
			else{
				cout<<"YES"<<endl;
				cout<<"2"<<endl;
				cout<<str[0]<<" "<<str[1]<<endl;
			}
		}
	}
	return 0;
}


posted @   Black--Panda  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示