呜呜80求调17,18,19,20TLE
查看原帖
呜呜80求调17,18,19,20TLE
1475246
tydou楼主2024/12/31 11:30
 

import java.util.Scanner;

public class Main {
    static int m, n, ai, bi, hi;
    static char[][] a = new char[1005][1005];
    static String[] b = new String[1005];
    static int[][]v = new int[1005][1005];
    static int[] d = new int[1005];
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        m = sc.nextInt();
        n = sc.nextInt();
        for (int i = 0; i < m; i++) {
            b[i] = sc.next();
            ai = 0;
            bi = 0;
            hi = 0;
            for (int j = 0; j < n; j++) {
                if (b[i].charAt(j) == 'A') {
                    ai++;
                }
                if (b[i].charAt(j) == 'B') {
                    bi++;
                }
                if (b[i].charAt(j) == 'H') {
                    d[hi++] = j;
                }
            }
            if (hi > 0) {
                for (int q = 0; q < ai; q++) {
                    a[i][q] = 'A';
                }
                for (int q = ai; q < n - bi; q++) {
                    a[i][q] = '#';
                }
                for (int q = n - bi; q < n; q++) {
                    a[i][q] = 'B';
                }
                for (int y = 0; y < hi; y++) {
                    a[i][d[y]] = 'H';
                }
            }
            else if (ai == bi) {
                for (int q = 0; q < n; q++) {
                    a[i][q] = '#';
                }
            }
            else if(ai>bi){
                for(int q=0;q<n-ai;q++){
                    a[i][q] = '#';
                }
                for(int q=n-ai;q<n;q++){
                    a[i][q] = 'A';
                }
            }
            else {
                for(int q=0;q<bi;q++){
                    a[i][q] = 'B';
                }
                for(int q=bi;q<n;q++){
                    a[i][q] = '#';
                }
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<m-1;j++){
               if(j<m-1&&(a[j][i]!='H'&&a[j][i]!='#')&&(a[j][i]==a[j+1][i])){
                   v[j][i] = 1;
                   v[j+1][i]=1;
               }
            }
        }
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(v[i][j]==1)
                    a[i][j]='#';
                System.out.printf("%c",a[i][j]);
            }
            System.out.println();
        }
    }
}

2024/12/31 11:30
加载中...