有哪位dalao知道-1073741819是什么错呀?
code:
#include<bits/stdc++.h>
#include<cstring>
using namespace std;
int a,b;
vector<string> jig;
vector<string> tem;
string outt;
set<string> all;
int ans,ansx,ansy;
void least(int xx,int yy){
string outt2="";
outt="";
//cout<<"aaa";
for(int i=0;i<xx;i++){
outt=outt+tem[i];
}
//cout<<outt<<"kkk";
if(xx==yy){
vector<string> tem2,tem3,tem4;
for(int i=1;i<=30;i++){
tem2.push_back("");
tem3.push_back("");
tem4.push_back("");
}
for(int i=0;i<xx;i++){
for(int j=0;j<yy;j++){
tem2[i][j]=tem[yy-j-1][i];
}
}
outt2="";
for(int i=0;i<xx;i++){
for(int j=0;j<yy;j++){
outt2.insert(outt2.end(),tem2[i][j]);
}
}
//cout<<outt2<<"kkk";
if(outt2<outt){
outt=outt2;
}
outt2="";
for(int i=0;i<xx;i++){
for(int j=0;j<yy;j++){
tem3[i][j]=tem2[yy-j-1][i];
}
}
for(int i=0;i<xx;i++){
for(int j=0;j<yy;j++){
tem4[i][j]=tem3[yy-j-1][i];
}
}
outt2="";
for(int i=0;i<xx;i++){
for(int j=0;j<yy;j++){
outt2.insert(outt2.end(),tem4[i][j]);
}
}
if(outt2<outt){
outt=outt2;
}
}
outt2="";
for(int i=0;i<xx>>1;i++){
swap(tem[xx-i-1],tem[i]);
}
for(int i=0;i<xx;i++){
string t(tem[i].rbegin(),tem[i].rend());
tem[i]=t;
}
for(int i=0;i<xx;i++){
outt2=outt2+=tem[i];
}
if(outt2<outt){
outt=outt2;
}
return;
}
int main(){
cin>>a>>b;
getchar();
ans=0;
ansx=ansy=114514;
string tempt;
for(int i=1;i<=a;i++){
getline(cin,tempt,'\n');
jig.push_back(tempt);
}
for(int x=1;x<=a;x++){
for(int y=1;y<=b;y++){
if(a%x||b%y){
continue;
}
else{
all.clear();
bool flag=false;
for(int i=0;i<a;i+=x){
for(int j=0;j<b;j+=y){
tem.clear();
//cout<<x<<" "<<y<<" "<<i<<" "<<j<<endl;
for(int k=i;k<i+x;k++){
tem.push_back(jig[k]);
tem[k-i].erase(0,j);
tem[k-i].erase(y,b-y);
//cout<<tem[k-i]<<endl;
}
least(x,y);
//cout<<x<<" "<<y<<" "<<i<<" "<<j<<" "<<outt<<endl;
if(all.count(outt)>0){
flag=true;
//cout<<"kkk"<<all.count(outt)<<"kkk"<<endl;
break;
}
else{
all.insert(outt);
}
if(flag){
break;
}
}
if(flag){
break;
}
}
if(!flag)
{
ans++;
if(x*y==ansx*ansy){
if(x<ansx){
ansx=x;
ansy=y;
}
}
if(x*y<ansx*ansy){
ansx=x;
ansy=y;
}
}
}
}
}
cout<<ans<<endl;
cout<<ansx<<" "<<ansy;
return 0;
}
(可能是vector爆了?