zoukankan      html  css  js  c++  java
  • Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)B. Personalized Cup

    题意:把一长串字符串 排成矩形形式  使得行最小  同时每行不能相差大于等于两个字符 每行也不能大于20个字符

    思路: 因为使得行最小 直接行从小到大枚举即可   每行不能相差大于等于两个字符相当于  从上往下一列一列填

    然后直接模拟即可

     1 #include<bits/stdc++.h>
     2 #define FOR(i,f_start,f_end) for(int i=f_start;i<=f_end;i++)
     3 #define MS(arr,arr_value) memset(arr,arr_value,sizeof(arr)) 
     4 #define F first 
     5 #define S second
     6 #define pii pair<int ,int >
     7 #define mkp make_pair
     8 #define pb push_back
     9 #define arr(zzz) array<ll,zzz>
    10 #define ll long long 
    11 using namespace std;
    12 const int maxn=1e6+100;
    13 char s[maxn];
    14 int main(){
    15     cin>>s+1;
    16     int n=strlen(s+1);
    17     for(int i=1;i<=100;i++){
    18         int tmp=ceil(1.0*n/i);
    19         if(tmp<=20){
    20             
    21             int flag=i-n%i;
    22             int p=1;
    23             if(flag==i)flag=0;
    24             cout<<i<<" "<<tmp<<endl;
    25             for(int k=0;k<i;i++){
    26                 for(int j=0;j<tmp;j++){
    27                     if(flag&&j==tmp-1){
    28                         flag--;
    29                         cout<<"*";
    30                     }
    31                     else cout<<s[p++];
    32                     if(p>n)return 0;
    33                 }
    34                 cout<<endl;
    35                 if(p>n)return 0;;
    36             }
    37 
    38         }
    39     
    40     }
    41     return 0;
    42 }
    View Code
  • 相关阅读:
    二维几何前置知识
    点分治学习笔记
    $fhq-treap$学习笔记
    对拍使用方法
    2021.2.18-2021.5.18 三个月后端开发实习的学习路径
    蓝桥杯常考算法 + 知识点
    Linux
    Linux
    Intern Day112
    Linux上编译运行C/C++程序
  • 原文地址:https://www.cnblogs.com/ttttttttrx/p/10790984.html
Copyright © 2011-2022 走看看