原题传送


INPUT

Output

Examples


题意
有个长度我n的字符串,然后把它分成k分,要使每份都good且为正数(good的要求为该数中0和1的个数不同),求输出最小的结果(答案不唯一输出一个即可)
难度
题解果然是cf典型的A题,只要能想明白,难度并不***r> 第一步:先判断整体1和0的个数,如果不同直接输出1和它本身
第二步:如果不同,先输出二(因为最小的结果就是拆成两个字符串,让两个都good),然后将第一个数和后面所有数拆开输出,这样后面的数绝对满足good(因为它原本1和0相等,现在拆走一个就肯定不相等),这样就OK了。
这个题简单就在于答案很多,满足一个即可,而最简单的就是把第一个数和后面拆开。

#include<bits/stdc++.h>//万能头文件让我快乐
using namespace std;
int main()
  {
   
  	int ans1,ans2;
      int n;
      string m;
      while(~scanf("%d"),&n)
      {
   
          cin >> m;
         ans1= 0,ans2 = 0;
         for(int i = 0;i < n;i++)
         {
   
             if(m[i] == '1') ans1++;
             else ans2++;
         }
         if(ans2 != ans1)
		 cout <<1<<endl<<m<< endl;
         else
		{
   
         	printf("2\n");
         	printf("%d",m[0]);
             for(int i = 1;i < n;i++)cout << m[i];
             cout << endl;
        }
     }
     return 0;
 }

每天水A题,天天没烦恼。。。
(下回做点难的,不能再混了。。)