这题是图上的点虽然最多有一万个(100*100),但是每个点可以走的方向最多只只有四个,所以其实很快的就是通过行数*每列总数+列数来标识点的位置。然后遍历就好,用dp来记录当前点的最长严格递减序列
#pragma warning(disable:4996)
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<vector>
#include<algorithm>
#include<iostream>
#include<time.h>
#include<map>
#include<set>
#include<sstream>
#include<functional>
#include<cassert>
#include<list>
#include<iterator>
#include<utility>
#include <stdexcept>
#include <sstream>
#include <fstream>
#include<unordered_map>
#include<unordered_set>
#include<ctype.h>
#include<queue>
using namespace std;
const int INF = 0x3f3f3f3f;
string name;
int n, m;
const int maxn = 100 + 5;
int table[maxn][maxn];
vector<int> Graph[maxn*maxn