三升序列

在这里插入图片描述

#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;
}

答案不确定。。。。错了喊我

posted @ 2022-06-06 20:35  lishangli  阅读(23)  评论(0)    收藏  举报