码迷,mamicode.com
首页 > 其他好文 > 详细

CF1032B Personalized Cup

时间:2019-09-14 18:54:13      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:param   输出   ret   comment   nali   UNC   思路   bit   lin   

一个多月前写的题,既然没人写题解,那蒟蒻就写一篇吧

基本思路

既然是输出任意一个解,那么号的位置在那里是没有关系的。我的思路是默认*号在最后面,然后对输入的字符串输出的行数进行分类。

代码

#include<bits/stdc++.h>
using namespace std;
int a,b;
string s;
void print(int a,int b,int p)//打印结果 
{
    for(int i=1;i<=a;i++)
    {
        for(int j=1;j<=b;j++) printf("%c",s[p++]);
        printf("\n");
    }
}
signed main()
{
    cin>>s;//输入字符串
    //判断 
    if(s.size()%20==0)
    {
        a=s.size()/20, b=20;
        printf("%d %d\n",a,b);
        print(a,b,0);
    }
    else
    {
        a=s.size()/20+1;
        if(s.size()%a==0)
        {
            b=s.size()/a;
            printf("%d %d\n",a,b);
            print(a,b,0);
        }
        else
        {
            b=s.size()/a+1;
            printf("%d %d\n",a,b);
            int cnt=0, flag=0;
            for(int i=1;i<=a;i++)
            {
                if(flag==0 && (s.size()-cnt)%(b-1)==0) b--, flag=1;
                for(int j=1;j<=b;j++) printf("%c",s[cnt++]);
                if(flag) printf("*");
                printf("\n");
            }
        }
    }
    return 0;
}

 

 

CF1032B Personalized Cup

标签:param   输出   ret   comment   nali   UNC   思路   bit   lin   

原文地址:https://www.cnblogs.com/edenhazardhty/p/11519583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!