【NOIP2012】第二题·文化之旅

深度优先搜索(90分)var
    n,m,k,S,T,i,j,u,v,d,now,res:longint;
    c,vt,vc:array[0..100]of longint;
    a,dist:array[0..100,0..100]of longint;
procedure DFS(i:longint);
var j:longint;
begin
    if i=T then
    begin
        res:=now;
        exit;
    end;
    for j:=1 to n do
        if (dist[i,j]<>0)and(a[c[j],c[i]]=0)and(vt[j]=0)and(vc[c[j]]=0)and(now+dist[i,j]<res) then
        begin
            inc(now,dist[i,j]); vt[j]:=1; vc[c[j]]:=1;
            DFS(j);
            dec(now,dist[i,j]); vt[j]:=0; vc[c[j]]:=0;
        end;
end;

begin
    assign(input,‘culture.in‘); reset(input);
    assign(output,‘culture.out‘); rewrite(output);
    read(n,k,m,S,T);
    for i:=1 to n do read(c[i]);
    for i:=1 to k do
        for j:=1 to k do read(a[i,j]);
    for i:=1 to m do
    begin
        read(u,v,d);
        dist[u,v]:=d;    dist[u,v]:=d;
    end;
    res:=maxlongint;
    vt[S]:=1; vc[c[S]]:=1;
    DFS(S);
    if res=maxlongint then writeln(-1) else writeln(res);
    close(input); close(output);
end.

FOLYD算法
const
    INF=1000000;
var
    n,k,m,s,t,i,j,q,u,v,d:longint;
    a,dist:array[1..110,1..110] of longint;
    c:array[1..110] of longint;
begin
    assign(input,‘culture.in‘); reset(input);
    assign(output,‘culture.out‘); rewrite(output);
    readln(n,k,m,s,t);
    for i:=1 to n do
        for j:=1 to n do dist[i,j]:=INF;

    for i:=1 to n do read(c[i]);
    for i:=1 to k do
        for j:=1 to k do
            read(a[i,j]);
    for i:=1 to m do
    begin
        readln(u,v,d);
        if a[c[v],c[u]]=0 then dist[u,v]:=d;
        if a[c[u],c[v]]=0 then dist[v,u]:=d;
    end;

    for k:=1 to n do
        for i:=1 to n do
            for j:=1 to n do
                if dist[i,k]+dist[k,j]<dist[i,j] then  dist[i,j]:=dist[i,k]+dist[k,j];

    if dist[s,t]<INF then writeln(dist[s,t]) else writeln(-1);
    close(input); close(output);
end.
 
时间: 2024-11-12 08:10:41

【NOIP2012】第二题·文化之旅的相关文章

【Floyd】文化之旅

[NOIP2012]文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同文化的国家对其他文化的看法不同,有些文化会排斥外来 文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家). 现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这 位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路

[最短路]P1078 文化之旅

题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同文化的国家对其他文化的看法不同,有些文化会排斥外来 文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家). 现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这 位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路距离,试求 从起点到终点最少需

P1078 文化之旅

P1078 文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同文化的国家对其他文化的看法不同,有些文化会排斥外来 文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家). 现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这 位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路距离,试

洛谷P1078 文化之旅

P1078 文化之旅 1.1K通过 3.6K提交 题目提供者洛谷OnlineJudge 标签NOIp普及组2012 难度普及+/提高 时空限制1s / 128MB 提交  讨论  题解 最新讨论更多讨论 RE....??? 10分思路 单源最短路径.代码~ 求高手,为什么只有90分 神奇的数据 错误的算法也能过,数据太水- 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的

Floyd 洛谷P1078 文化之旅

P1078 文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同文化的国家对其他文化的看法不同,有些文化会排斥外来 文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家). 现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这 位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路距离,试

洛谷——P1078 文化之旅

P1078 文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化的国家对其他文化的看法不同,有些文化会排斥外来 文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家). 现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路距离,试求从起

2014百度之星第二题Disk Schedule

Disk Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1463    Accepted Submission(s): 189 Problem Description 有很多从磁盘读取数据的需求,包括顺序读取.随机读取.为了提高效率,需要人为安排磁盘读取.然而,在现实中,这种做法很复杂.我们考虑一个相对简单的场景.磁

2016/1/12 第一题 输出 i 出现次数 第二题 用for循环和if条件句去除字符串中空格 第三题不用endwith 实现尾端字符查询

1 import java.util.Scanner; 2 3 4 public class Number { 5 6 private static Object i; 7 8 /* 9 *第一题 mingrikejijavabu中字符“i” 出现了几次,并将结果输出*/ 10 public static void main(String[] args) { 11 12 String r ="imingrikejijavabi"; 13 14 15 //第一种 截取 16 int a=

最后一周第二天训练赛之第二题

试题: B - B Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice SPOJ ICODER Description Mathews uses a brand new 16-bit instruction processor. (Yeah i am being sarcastic!). It has one register (say R) and it su