记录编号 |
588837 |
评测结果 |
AAAEEEEEEEEEEEEEEEEE |
题目名称 |
熙熙攘攘、我们的城市 |
最终得分 |
15 |
用户昵称 |
健康铀 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
3.843 s |
提交时间 |
2024-07-01 16:20:46 |
内存使用 |
4.91 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,nm[110][110],a[110],top,vis[110];
struct abc{
int x;
int y;
};
abc xy[110];
void dfs(int x,int y,int z){
if(x==n){
top++;
xy[top].x=y;
xy[top].y=z;
}
for(int i=1;i<=n;i++){
if(nm[x][i]>0&&vis[i]==0){
vis[i]=1;
dfs(i,y+nm[x][i],nm[x][i]*nm[x][i]+z);
vis[i]=0;
}
}
}
bool cmp(abc A,abc B){
if(A.x==B.x){
return A.y>B.y;
}
return A.x<B.x;
}
int main(){
freopen("Wrong_world.in","r",stdin);
freopen("Wrong_world.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=m;i++){
int s,x;
cin>>s>>x;
for(int i=1;i<=s;i++){
int z,y;
cin>>z>>y;
nm[x][y]=z;
x=y;
}
}
vis[1]=1;
dfs(1,0,0);
sort(xy+1,xy+1+top,cmp);
cout<<xy[1].x<<" "<<xy[1].y;
return 0;
}