2 solutions

  • 0
    @ 2024-2-5 20:21:09
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define N 1017
    using namespace std;
    int n,m;
    char s[N][N];
    int main()
    {
    	cin >> n >> m;
    	for(int i = 1;i <= n;i += 1)cin >> s[i]+1;
    	int ans = 0;
    	for(int i = 2;i <= n;i += 1){
    		int x = strlen(s[i-1]+1),y = strlen(s[i]+1);
    		int len = 0;
    		while(s[i-1][x] == s[i][y] && x >= 1 && y >= 1)x--,y--,len++;
    		ans = max(ans,len);
    	}
    	cout << ans << endl;
    	return 0;
    }
    
    
    • @ 2025-12-30 17:57:38

      #include #include #include #include #define N 1017 using namespace std; int n,m; char s[N][N]; int main() { cin >> n >> m; for(int i = 1;i <= n;i += 1)cin >> s[i]+1; int ans = 0; for(int i = 2;i <= n;i += 1){ int x = strlen(s[i-1]+1),y = strlen(s[i]+1); int len = 0; while(s[i-1][x] == s[i][y] && x >= 1 && y >= 1)x--,y--,len++; ans = max(ans,len); } cout << ans << endl; return 0; }

  • -3
    @ 2024-2-5 17:55:25

    Solution

    签到题!

    xx表示第i1i-1个句子的指针,yy表示第ii个句子的指针

    x,yx,y分别从句子的末尾开始扫描,直到sx!=tys_x!=t_y,扫描过的长度称为lenlen

    那么我们有ans=max(ans,len)ans = max(ans,len)

    • 1

    Information

    ID
    303
    Time
    1000ms
    Memory
    512MiB
    Difficulty
    3
    Tags
    (None)
    # Submissions
    56
    Accepted
    29
    Uploaded By