PTA团体程序设计天梯赛-练习集 L2 网红点打卡攻略(模拟)

简介: PTA团体程序设计天梯赛-练习集 L2 网红点打卡攻略(模拟)

思路

模拟,不知道为什么结构体过不了

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int n,m,g[210][210];
struct node{
  int val,id;
}a[210];
int vis[210],path[210];
int idx=0;
bool cmp(node a,node b){
  if(a.val==b.val) return a.id<b.id;
  return a.val<b.val;
}
int main(){
  cin>>n>>m;
  memset(g,-1,sizeof g);
  for(int i=1;i<=m;i++){
    int u,v,w;cin>>u>>v>>w;
    g[u][v]=g[v][u]=w;
  }
  int q;cin>>q;
  int res=0x3f3f3f3f,pos=0;
  for(int qq=1;qq<=q;qq++){
    memset(vis,0,sizeof vis);
    int sum=0;
    int k;cin>>k;
    for(int i=1;i<=k;i++){
      cin>>path[i];
      vis[path[i]]++;
    }
    bool flag=1;
    path[0]=path[k+1]=0;
    for(int i=1;i<=n;i++){
      if(vis[i]!=1){
        flag=0;break;
      }
    }
    for(int i=0;i<=k;i++){
      if(g[path[i]][path[i+1]]<0){
        flag=0;break;
      }
    }
    if(flag){
      for(int i=0;i<=k;i++)
        sum+=g[path[i]][path[i+1]];
      if(sum<res){
        res=sum;pos=qq;
      }
      idx++;
    }
  }
  cout<<idx<<endl;
  cout<<pos<<" "<<res<<endl;
  return 0;
}
目录
相关文章
团体程序设计天梯赛-练习集L2篇⑦
团体程序设计天梯赛-练习集L2篇⑦
78 0
团体程序设计天梯赛-练习集L2篇⑨
团体程序设计天梯赛-练习集L2篇⑨
169 0
|
Perl
团体程序设计天梯赛-练习集L1篇③
团体程序设计天梯赛-练习集L1篇③
139 0
|
测试技术
团体程序设计天梯赛-练习集L2篇⑥
团体程序设计天梯赛-练习集L2篇⑥
117 0
|
测试技术 C语言 C++
PTA团体程序设计天梯赛-练习集:L1-003 个位数统计
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。 输入格式: 每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。 输出格式: 对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。
221 0
|
算法
团体程序设计天梯赛-模拟赛(下)
团体程序设计天梯赛-模拟赛(下)
495 0
团体程序设计天梯赛-模拟赛(下)
|
机器学习/深度学习 程序员 Python
团体程序设计天梯赛-模拟赛(上)
团体程序设计天梯赛-模拟赛
738 0
团体程序设计天梯赛-模拟赛(上)
【2020团体程序设计天梯赛】L2部分(PTA,L2-033到L2-036)题解代码
【2020团体程序设计天梯赛】L2部分(PTA,L2-033到L2-036)题解代码
378 0
|
测试技术
团体程序设计天梯赛-练习集 - L3-013 非常弹的球 (30 分)
团体程序设计天梯赛-练习集 - L3-013 非常弹的球 (30 分)
144 0
下一篇
DataWorks