Advertisement
ivnikkk

Untitled

Jul 20th, 2022
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. function ok(matrix: string[][], len: int, n: int, m: int) -> bool {
  2.     let used:{string : int}={};
  3.     for(let i = 0; i < m; i += 1) {
  4.         let cur: string = "";
  5.         for(let j = len; j < n; j += 1) {
  6.             cur += matrix[j][i];
  7.         }
  8.         if(used.contains(cur)) {
  9.             return false;  
  10.         }
  11.         else {
  12.             used[cur] = 1;
  13.         }
  14.     }
  15.     return true;
  16. }
  17. function solve(input: string) -> string {
  18.     let line = input.split("\n\n");
  19.    
  20.     let siz = line[0].split(" ");
  21.     let n: int = int(siz[0]);
  22.     let m: int = int(siz[1]);
  23.     let matrix: string[][] = [];
  24.     for(let i = 1; i <= n; i += 1) {
  25.         matrix.push([]);
  26.         for(let j = 0; j < m; j += 1) {
  27.             matrix[i - 1].push(line[i][j]);
  28.         }
  29.     }
  30.    
  31.     let l: int = 0;
  32.     let r: int = n;
  33.     while(r - l > 1) {
  34.         let mid: int = (r + l) / 2;
  35.         if(ok(matrix, mid, n, m)) {
  36.             l = mid;  
  37.         }
  38.         else {
  39.             r = mid;
  40.         }
  41.     }
  42.     return string(l);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement