• 板块灌水区
  • 楼主jimmy126
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/10/24 10:55
  • 上次更新2024/10/24 14:19:00
查看原帖
935765
jimmy126楼主2024/10/24 10:55

这个代码有什么问题吗? 为什么在vscode中会报错``` Exit code: 1 Errors while compiling: c:\Users\HUAWEI\Desktop\C++\CSP jixun\day5\day5.2.cpp: In function 'int main()': c:\Users\HUAWEI\Desktop\C++\CSP jixun\day5\day5.2.cpp:8:12: error: missing template arguments before 'a' vector a(n,vector(m)); ^ c:\Users\HUAWEI\Desktop\C++\CSP jixun\day5\day5.2.cpp:11:18: error: 'a' was not declared in this scope cin>>a[i][j]; ^ c:\Users\HUAWEI\Desktop\C++\CSP jixun\day5\day5.2.cpp:14:19: error: 'a' was not declared in this scope vector f=a.back(); ^


```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
	// freopen("board.in","r",stdin);
	// freopen("board.out","w",stdout);
    int n,m;
    cin>>n>>m;
    vector a(n,vector<int>(m));
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>a[i][j];
        }
    }
    vector<int> f=a.back();
    for(int k=n-2;k>=0;k--){
        auto &v=a[k];
        vector<int> s(m+1),g(m);
        for(int i=0;i<m;i++){
            s[i+1]=s[i]+v[i];
        }
        for(int i=0;i<m;i++){
            g[i]=f[i]+v[i];
            int l=0,r=0;
            for(int j=i+1;j<m;j++){
                l=max(l,f[j]+s[i+1]+s[j+1]-v[0]);
            }
            for(int j=0;j<i;j++){
                l=max(l,f[j]+s[i+1]-s[j]);
            }
            for(int j=0;j<i;j++){
                r=max(r,f[j]+(s[m]-s[i])+(s[m]-s[j])-v[m-1]);
            }
            for(int j=i+1;j<m;j++){
                r=max(r,f[j]+s[j+1]-s[i]);
            }
            g[i]=max(g[i],min(l,r));
        }
        swap(f,g);
    }
    int ans=1e9;
    for(int i=0;i<m;i++){
        ans=min(ans,f[i]);
    }
    cout<<ans<<endl;
	return 0;
}
2024/10/24 10:55
加载中...