lập trình cơ bản với c++

Bài 3. Đề thi HSG THCS TP. Hà Nội. Năm học 2020-2021

LẬP TRÌNH C++

#include <bits/stdc++.h>;
using namespace std;
string kt,a[5001],s[5001],tg;
long n,m,j,Max,d;
bool sx(const string a,const string b){
return a>b;
}
int main(){
fstream fi;
fi.open(“test4.inp”,ios::in);
fi>>n>>m;
for(long i=0;i<n;i++){
fi>>a[i];
}
//Dùng mảng S[1..n] lưu các ký tự đầu vào, S[j] ứng với cột thứ j
j=0;
for(long i=0;i<m;i++){
kt=””;
for(long k=0;k<n;k++)
kt=a[k][i]+kt;
s[j]=kt;
j++;
}
//Sắp xếp S theo thứ tự tăng dần. sort(s,s+m,sx);
for(long i=0;i<m-1;i++)
for(long j=i+1;j<m;j++)
if(s[i]>s[j]){
tg=s[i];
s[i]=s[j];
s[j]=tg;
}
//Tìm độ dài chuỗi con chung dài nhất của S[j] và S[j+1]
Max=0;
for(long j=0;j<m;j++){
d=0;
for(long i=0;i<n;i++)
if(s[j][i]==s[j+1][i]) d++;
if (d>Max) Max=d;
}
cout<<n-Max-1;
fi.close();
return 0;
}

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *