最后一点始终过不了,read :, expected 1. 求问
测评记录
源代码:
#include <iostream>
#include <cstdio>
#include <string>
const int MAXN = 25;
int val[MAXN];
int ew[MAXN];
int n;
int MAP[MAXN][MAXN];
int path[MAXN];
int main(){
scanf("%d",&n);
for(int i = 1;i <= n;i++){
scanf("%d",&val[i]);
}
for(int i = 1;i <= n;i++){
for(int j = 1;j <= n-i;j++){
scanf("%d",&MAP[i][j+i]);
}
}
int MAX = 0;
int last_num = 0;
for(int i = 1;i <= n;i++){
ew[i] = val[i];
}
int last = 0;
for(int i = 1;i <= n;i++){
for(int j = 1;j <= n;j++){
if(MAP[j][i]){
if(ew[i]<ew[i]-last_num+ew[j]){
ew[i] = ew[i]-last_num+ew[j];
last_num = ew[j];
path[i] = j;
}
}
}
if(ew[i] > MAX){
last = i;
MAX = ew[i];
}
last_num = 0;
}
int i = 0;
char a[MAXN];
for(void();path[last]!=0;last = path[last]){
a[i++] = char(last + '0');
}
a[i] = char(last + '0');
for(void();i >= 0;i--){
printf("%c ",a[i]);
}
printf("\n%d",MAX);
return 0;
}