三升序列

#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
int a[30][50];
int countw()
{
int acount=0;
//求横方向
for(int i=0;i<30;i++)
{
for(int j=0;j<48;j++)
for(int k=j+1;k<49;k++)
for(int t=k+1;t<50;t++)
if(a[i][j]<a[i][k]&&a[i][k]<a[i][t])
acount++;
}
for(int i=0;i<50;i++)
for(int j=0;j<28;j++)
{
for(int k=j+1;k<29;k++)
for(int t=k+1;t<30;t++)
if(a[j][i]>a[k][i]&&a[k][i]>a[t][i])
acount++;
}
for(int t=2;t<=76;t++)
{
for(int i=0;i<=t;i++)
{
for(int j=i+1;j<=t-1;j++)
{
for(int k=j+1;k<=t-2;k++)
{
if(a[i][t-i]<a[j][t-j]&&a[j][t-j]<a[k][t-k])
{
acount++;
}
}}
}
}
return acount;
}
int main()
{
ifstream in;
in.open("inc.txt",ios::in);
char x;
int i=0;
for(int i=0;i<30;i++)
{
for(int j=0;j<50;j++)
{
in>>x;
a[i][j]=x-'A'+1;
}
}
cout<<countw();
return 0;
}
答案不确定。。。。错了喊我

浙公网安备 33010602011771号