咕了好几篇后...
我终于开始重新写了
T1:
不会,没思路,暴搜还可能会(一开始我以为暴搜时间复杂度为$\Theta (mn ^ k)$)
于是码出了暴搜...
跑一遍$(4,4,5)$,然后...跑不出来!!!
输出了一下方案数,发现有问题
然后发现是$\Theta (k ^ {mn})$
于是我疯了,开始打表不要脸
$(4,4,5)$跑了1h没跑出来,放弃...然而没有这个点
考场代码:
#include
#include #define int long long using namespace std; const int mod=1e9+7; int a[6][6]; int n,m,k; int ans[30]; void work() { int nans=0; for(register int q=1;q<=n;qT1:>++) for(register int w=1;w<=m;w++) { int bo=1; for(register int e=1;e<=n;e++) if(e!=q&&a[e][w]>=a[q][w]) { bo=0; break; } if(bo) { for(int e=1;e<=m;e++) if(e!=w&&a[q][e]>=a[q][w]) { bo=0; break; } } nans+=bo; } ++ans[nans]; ans[nans]%=mod; } int cnt; void dfs(int x,int y) { if(x==n&&y==m+1) { ++cnt; //cout</*for(int q=1;q<=n;q++) { for(int w=1;w<=m;w++) cout< cout< } cout<work(); return; } int res=y+1,tmp=