這題上次做的時候居然是WA!我感到很莫名其妙。
只是一道最簡單的最短路而已。對於每個頂點,與其相鄰的第一個頂點權值爲0,其餘相鄰節點的權值爲1。求出從起點到終點的最短路即可!
program tram; const inf=10000000; maxn=110; len=2000000; type pointer=^node; node=record v,data:longint; next:pointer; end; var edge:array[0..maxn] of pointer; dist:array[0..maxn] of longint; vis:array[0..maxn] of boolean; que:array[0..len] of longint; n,s,t,head,tail:longint; procedure prework; var i:longint; begin for i:=1 to maxn do edge[i]:=nil; end; procedure init; var i,j,k:longint; p:pointer; begin readln(n,s,t); for i:=1 to n do begin read(k); new(p); if k>0 then begin read(p^.v); p^.data:=0; p^.next:=edge[i]; edge[i]:=p; end; for j:=2 to k do begin new(p); read(p^.v); p^.data:=1; p^.next:=edge[i]; edge[i]:=p; end; end; end; procedure prespfa(s:longint); begin head:=0; tail:=1; fillchar(vis,sizeof(vis),0); filldword(dist,sizeof(dist) shr 2,inf); dist[s]:=0; vis[s]:=true; que[1]:=s; end; procedure push(var x:longint); begin inc(x); if x>len then x:=0; end; procedure spfa(s:longint); var x:longint; p:pointer; begin prespfa(s); while head<>tail do begin push(head); x:=que[head]; vis[x]:=false; p:=edge[x]; while p<>nil do begin if dist[p^.v]>dist[x]+p^.data then begin dist[p^.v]:=dist[x]+p^.data; if not vis[p^.v] then begin vis[p^.v]:=true; push(tail); que[tail]:=p^.v; end; end; p:=p^.next; end; end; end; procedure outit; begin if dist[t]<>inf then writeln(dist[t]) else writeln(-1); end; begin assign(input,'a.in'); reset(input); assign(output,'a.out'); rewrite(output); prework; init; spfa(s); outit; close(input); close(output); end.
一、前言 用ffmpeg做音視頻保存到mp4文件,都會遇到一個問題,尤其是在視頻監控行業,就是監控攝像頭設置的音頻是PCM/G711A/G711U,解碼後對應的格式是pcm_s16be/pcm_alaw/pcm_mulaw,將這個原始的音頻
今天看discuz源碼,在一個函數裏發現這麼個語句: http:// $output && print($ret); 其中$output是這個函數的一個參數,值爲true或false;$ret是一個字符串. 測試了一下,如果$output
將拼接的Sql查詢字串查詢結果賦值給變量@name。 DECLARE @sqlstr VARCHAR(500) DECLARE @name VARCHAR(500) SET @sqlstr='SELECT @nam
Converts the value of the current DateTime object to its equivalent string representation using the specified format.
Android 命令行手動編譯打包過程圖 1使用aapt生成R.java類文件: 例: E:\androidDev\android-sdk-windows2.2\tools>E:\androidDev\android-sdk-w
step 1:設置root帳號密碼 輸入命令: sudo passwd root 根據提示輸入root帳號密碼。 step 2:保證以root帳號權限進行後續操作 如果不是用root帳號登錄系統 輸入命令: su ro
Date.parseDate( String input, String format ) : Date 將字符串string依指定的格式format轉換爲時間,其中格式定義詳見format方法 例:dt = Date.parseDat
此篇爲片段翻譯,爲Dive into HTML5系列文章的第三篇,第二篇A Quite Biased History of HTML5 跳過 DETECTING HTML5 FEATURES DETECTION TECHNIQUE
天老師叫我們做了個吞喫蛇,只實現了很簡單的功能,不廢話,上馬: #!/bin/bash trap input_key=0 20 trap input_key=1 21 trap input_key=2 22 trap input
今天看了一下josephus問題,突然有點想寫些東西的衝動,結合自己的部份思想,於是便寫了這幾篇帖子。因爲有幾篇代碼有點長,就分開發吧。如果對你有什麼幫助的話,本人勝感欣慰。也許你會說,這個問題好多書上都有代碼,但本人詣在於用不同的方法寫
------------------------------------- 典型例題 24:數據結構問題---鏈表運算集合 ------------------------------------- 1 #include <std
------------------------------------- 典型例題 28:計算機進制問題---八進制轉換爲十進制數 ------------------------------------- 1 #include
以圖片類型舉例。若你只想讓用戶選擇圖片上傳你可以如下方式: <input type = "file" accept="image/gif, image/jpg, image/png"> 上面的方式不僅指定上傳類型爲圖片,還指定了具體的圖
function filterInt(evt){ evt = evt || window.event; var b = evt.keyCode || evt.which; return(b>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>AJAX</title> <met