世界上最短的代码哈哈哈

P1006 [NOIP2008 提高组] 传纸条

很短吗= =
by a1035719430 @ 2017-09-14 20:59:11


@[kkksc03](/space/show?uid=1) 有人抄题解
by a1035719430 @ 2017-09-14 21:03:05


nonono,我是压行选手 ```cpp #include<iostream> using namespace std; const int maxn=51; int a[maxn][maxn],dp[maxn][maxn][maxn][maxn]; int main() { ios::sync_with_stdio(false); int n,m; cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) for(int k=1;k<=n;k++) for(int l=1;l<=m;l++) if(i!=k||j!=l){ dp[i][j][k][l]=max(max( dp[i-1][j][k-1][l],dp[i-1][j][k][l-1]),max(dp[i][j-1][k-1][l], dp[i][j-1][k][l-1]))+a[i][j]+a[k][l];//cout<<'@'<<dp[i][j][k][l]<<endl; } cout<<max(max( dp[n-1][m][n-1][m],dp[n-1][m][n][m-1]),max(dp[n][m-1][n-1][m], dp[n][m-1][n][m-1]))<<endl; return 0; } ```
by cjtz @ 2017-09-18 19:32:10


```cpp #include <cstdio> #include <algorithm> #define maxn 55 #define FOR(A,B,C) for(int A = B;A<=C;A++) #define MAX(A,B,C,D) max(max(A,B),max(C,D)) using namespace std; int m,n,martix[maxn][maxn],dp[maxn][maxn][maxn][maxn]; int main(){ scanf("%d%d",&m,&n); FOR(i,1,m) FOR(j,1,n) scanf("%d",martix[i]+j); FOR(a,1,m) FOR(b,1,n) FOR(c,1,m) FOR(d,1,n) if(a == c && b == d) continue; else dp[a][b][c][d] = martix[a][b] + martix[c][d] + MAX(dp[a-1][b][c-1][d],dp[a][b-1][c][d-1], dp[a-1][b][c][d-1],dp[a][b-1][c-1][d]); printf("%d",dp[m][n-1][m-1][n]); } ``` 这个怎么样
by xsun2001 @ 2017-09-18 20:28:25


你肯定不能压到只有一行 我是不是说对了
by 啊哈! @ 2017-09-20 19:52:24


P党貌似是可以压到一行的吧。。。。。
by 小手冰凉 @ 2017-09-21 19:37:55


@[洗心革面](/space/show?uid=34604) 洛谷放不下
by 碳六灵 @ 2017-09-21 21:34:36


##是时候测试一下编译器的能力了 ```cpp #include <cstdio>#include <algorithm>#define maxn 55#define FOR(A,B,C) for(int A =B;A<=C;A++)#defineMAX(A,B,C,D) max(max(A,B),max(C,D))using namespace std;int m,n,martix[maxn][maxn],dp[maxn][maxn][maxn][maxn];int main(){scanf("%d%d",&m,&n);FOR(i,1,m) FOR(j,1,n) scanf("%d",martix[i]+j);FOR(a,1,m) FOR(b,1,n) FOR(c,1,m) FOR(d,1,n)if(a == c && b == d) continue;else dp[a][b][c][d] = martix[a][b] + martix[c][d] +MAX(dp[a-1][b][c-1][d],dp[a][b-1][c][d-1],dp[a-1][b][c][d-1],dp[a][b-1][c-1][d]);printf("%d",dp[m][n-1][m-1][n]);} ```
by 权御天下 @ 2017-09-21 22:49:03


##经实测,楼上代码洛谷编译不通过,但是Visual Studio 2015-pro成功编译 ~~ 这说明了什么 ~~
by 权御天下 @ 2017-09-21 22:51:22


##我的VS~~不科学~~太强大
by 权御天下 @ 2017-09-21 22:52:57


| 下一页