细节模拟——cf1267L

Posted zsben991126

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了细节模拟——cf1267L相关的知识,希望对你有一定的参考价值。

细节很多,改了好久。。

/*
按阶梯状贪心填入字符,当第k行被填满后,再去填其他空位 
*/
#include<bits/stdc++.h>
using namespace std;
#define N 2005

char s[N*N],t[N*N],ans[N][N];
int n,l,k,len;

int main(){
    cin>>n>>l>>k;
    scanf("%s",s+1);
    len=n*l;
    memcpy(t,s,sizeof s);
    sort(t+1,t+1+len);
    
    int p=0;
    if(k==1){//特殊情况 
        for(int i=1;i<=n;i++){
            for(int j=1;j<=l;j++)
                cout<<t[++p];
            puts("");
        }
    }
    
    int up=1,right=1;
    while(1){
        for(int i=up;i<=k;i++)
            ans[i][right]=t[++p];
        for(int i=k;i>=up+1;i--)
            if(ans[i][right]!=ans[i-1][right]){
                up=i;break;
            }
        if(up==k||right==l)break;
        right++;
    }
    
    for(int j=1;j<=l;j++)
        if(ans[k][j]==0)ans[k][j]=t[++p];    
    
    for(int i=1;i<=n;i++)
        for(int j=1;j<=l;j++)
            if(ans[i][j]==0)ans[i][j]=t[++p];
    
    for(int i=1;i<=n;i++)cout<<(ans[i]+1)<<
;
} 

 

以上是关于细节模拟——cf1267L的主要内容,如果未能解决你的问题,请参考以下文章

cf 模拟

CF 378 C D 模拟

「CF1037D」Valid BFS?

[贪心] aw3774. 亮灯时长(思维+后缀和+代码细节+CF1000B)

CF 489 C Given Length and Sum of Digits... 贪心

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段