Dạ chào mọi người. Cảm ơn vì đã dành thời gian cho câu hỏi của em
Câu hỏi:
Em muốn hỏi là nếu lỗi hiện thị mở main() thì là lỗi gì và cách fix.
Sau đây là ví dụ về bài của em ạ:
Code:
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>
#include <string>
#include <string.h>
using namespace std;
string sm,sn,st,b,z;
long long a,c,x,y,i,j,s,t;
main()
{
freopen("CORE1.INP","r",stdin);
freopen("CORE1.OUT","w",stdout);
cin>>sm;
x=sm.size();
for (i=0;i<x;i++) {
a=i+1;
sn=sm.substr(0,a);
b=sn;
z=sn;
c=a;
while (c<=x) {
z=z+b;
c=z.size();
}
if (z==sm) {
break;
}
}
cout<<sn;
}
Đề
Cho một xâu lớn, hãy tìm xâu con sao cho lặp xâu nhỏ một số lần sẽ thành xâu lớn với xâu con có độ dài nhỏ nhất <giới hạn thời gian 1s >
test 1:
input: abcabcabc
output: abc
test 2
input: abcabd
output: abcabd
Giải thích thuật toán
Em tìm từng trường hợp có thể của xâu nhỏ, xong tạo một xâu mới lặp xâu nhỏ đến khi độ dài xâu lớn trước và và xâu mới tạo bằng nhau.
Xong đó so sánh. Nếu bằng thì in xâu nhỏ ra, còn không bằng thì cứ tiếp tục.
Mong muốn:
Mọi người có thể:
- chỉ ra lỗi
- cách fix
- các lỗi khác có thể gặp dẫn đến bị tiếp lỗi main trên ạ.