zoukankan      html  css  js  c++  java
  • cf 463D

    D. Gargari and Permutations
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Gargari got bored to play with the bishops and now, after solving the problem about them, he is trying to do math homework. In a math book he have found k permutations. Each of them consists of numbers 1, 2, ..., n in some order. Now he should find the length of the longest common subsequence of these permutations. Can you help Gargari?

    You can read about longest common subsequence there:https://en.wikipedia.org/wiki/Longest_common_subsequence_problem

    Input

    The first line contains two integers n and k (1 ≤ n ≤ 1000; 2 ≤ k ≤ 5). Each of the next k lines contains integers 1, 2, ..., n in some order — description of the current permutation.

    Output

    Print the length of the longest common subsequence.

    Sample test(s)
    input
    4 3
    1 4 2 3
    4 1 2 3
    1 2 4 3
    output
    3
    Note

    The answer for the first test sample is subsequence [1, 2, 3].

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<cmath>
    #include<cstdlib>
    #include<algorithm>
    using namespace std;
    int n,k,cnt[1002][1002],a[1002],f[1002];
    int main()
    {
          int ans=0;
          scanf("%d%d",&n,&k);
          for(int i=0;i<k;i++)
          {
                for(int j=0;j<n;j++)
                {
                      scanf("%d",&a[j]);
                      for(int c=0;c<j;c++)
                            cnt[a[c]][a[j]]++;
                }
          }
          for(int i=0;i<n;i++)
          {
               f[a[i]]=1;
               for(int j=0;j<i;j++)
               {
                     if(cnt[a[j]][a[i]]==k)
                     {
                           f[a[i]]=max(f[a[i]],f[a[j]]+1);
                     }
               }
               ans=max(ans,f[a[i]]);
          }
          printf("%d
    ",ans);
          return 0;
    }
    

      

  • 相关阅读:
    maven 手工装入本地包
    一个简单的算法--找出样本中出现次数最多的数字
    tortoise Git 访问题
    python 的数值
    python 的运算符
    python3代码运行器
    python 3.X基础
    Python 3.X和Python 2.X的区别
    文件操作
    函数讲解
  • 原文地址:https://www.cnblogs.com/a972290869/p/4240708.html
Copyright © 2011-2022 走看看