亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? marica.cpp

?? PASCAL光盤資料PASCAL光盤資料PASCAL光盤資料
?? CPP
字號:

// Izborne pripreme 2001 - Drugi izborni ispit
// Zadatak MARICA
// Autor rjesenja Bojan Antolovic
// Nesluzbeno rjesenje

#include <fstream>
#include <iostream.h>
#include <set>
#include <list>
#include <vector>
#include <algorithm>
#include <queue>
#define MAXN 1000

int n;
int veza[MAXN][MAXN]; // -1 ako nema veze
int rez;

struct brid
{
    int v1, v2;
    brid(int nv1, int nv2)
    	{ if (v1<v2) { v1=nv1; v2=nv2; } else { v1=nv2; v2=nv1; } }
    inline bool operator < (const brid &drugi) const
    	{ return (v1<drugi.v1 || (v1==drugi.v1 && v2<drugi.v2)); }
};
class bridovi: public set<brid> {};
bridovi zaobraditi, novi, pom;


vector<bool> obraden;
vector<bool> potencijalan;
vector<int> udaljenost;

class vrhovi: public vector<int>
{
	friend ostream & operator << (ostream & output, const vrhovi &v)
    {
        for (vrhovi::const_iterator i=v.begin(); i!=v.end(); i++)
        	output << (*i)+1 << " ";
        output << "\n";
        return output;
    }
};
vrhovi put;


class dijvrh
{
public:
	int broj;
    dijvrh(int nbroj) { broj=nbroj; };
    bool operator < ( const dijvrh &drugi) const { return udaljenost[broj] < udaljenost[drugi.broj]; }
};

void calc_najkraci_put()
{
	obraden.resize(n);
    potencijalan.resize(n);
    udaljenost.resize(n);
	list<dijvrh> potencijalni;
	for (int i=0; i<n; i++) obraden[i] = false;
	for (int i=0; i<n; i++) potencijalan[i] = false;
	for (int i=0; i<n; i++) udaljenost[i] = -1;

    potencijalni.push_back(dijvrh(0));
    udaljenost[0] = 0;
    potencijalan[0] = true;

    while (!potencijalni.empty())
    {
        list<dijvrh>::iterator naj;
        naj = min_element(potencijalni.begin(), potencijalni.end());
        int najud = udaljenost[naj->broj];
        int najvrh = naj->broj;
        potencijalni.erase(naj);
        potencijalan[najvrh] = false;
        obraden[najvrh] = true;

        if (najvrh==n-1)
        	break;

        for (int i=0; i<n; i++)
        	if (veza[najvrh][i]!=-1)
        	if (!obraden[i])
            	if (udaljenost[i]==-1 || udaljenost[i]>udaljenost[najvrh]+veza[najvrh][i])
                {
                    int a = udaljenost[i] = udaljenost[najvrh]+veza[najvrh][i];
                    if (!potencijalan[i])
                    {
	                    potencijalni.push_back(dijvrh(i));
                        potencijalan[i] = true;
                    }
                }
    }
/*
    cout << "dijkstra ";
    for (int i=0; i<n; i++)
        cout << i+1 << ":" << udaljenost[i] << " ";
    cout << "\n";
*/
    put.clear();
    if (udaljenost[n-1]==-1)
    	return;

    int p = n-1;
    put.insert(put.end(), p);
    do
    {
        int i, mini;
        mini = -1;
        for (i=0; i<n; i++)
            if (udaljenost[i]!=-1)
            if (veza[p][i]!=-1)
            	if (mini==-1 || udaljenost[i]+veza[p][i]<udaljenost[mini]+veza[p][mini])
                	mini = i;
         p = mini;
         put.insert(put.end(), p);
    } while (p!=0);
    reverse(put.begin(), put.end());
}

void calc_najkraci_put_bez_brida(brid &b)
{
    int staro = veza[b.v1][b.v2];
    veza[b.v1][b.v2] = veza[b.v2][b.v1] = -1;
    calc_najkraci_put();
    veza[b.v1][b.v2] = veza[b.v2][b.v1] = staro;
}

void citaj()
{
    ifstream f("marica.in");
    int k, i, a, b, c;
    f >> n >> k;
    for (a=0; a<n; a++)
        for (b=0; b<n; b++)
            veza[a][b] = veza[b][a] = -1;
    for (i=0; i<k; i++)
    {
        f >> a >> b >> c;
        veza[a-1][b-1] = veza[b-1][a-1] = c;
    }
    put.reserve(n);
}

void rijesi()
{
    brid b(0,0);
    rez = -1;
    calc_najkraci_put();
    int dir;
    dir = udaljenost[n-1];
    for (int i=0; i<int(put.size())-1; i++)
        zaobraditi.insert(brid(put[i], put[i+1]));

    while (!zaobraditi.empty())
    {
        // nadi najkraci put bez brida
        b = *zaobraditi.begin();
        zaobraditi.erase(zaobraditi.begin());
        calc_najkraci_put_bez_brida(b);

        // ako nema, nema rjesenja
        if (put.size()<2)
        {
           rez = -1;
           break;
        }

        // ako je gori, zapamti ga
        if (rez==-1 || udaljenost[n-1]>rez)
        {
	   rez = udaljenost[n-1];
        }

        if (udaljenost[n-1]>dir)
            cout << "(" << put.size()-1 << ")" << udaljenost[n-1] << " ";
/*
        // ukloni suvisne iz zaobraditi
        novi.clear();
        for (int i=0; i<int(put.size())-1; i++)
            novi.insert(brid(put[i], put[i+1]));
        pom.clear();
        insert_iterator<bridovi> ii(pom, pom.begin());
        set_intersection( zaobraditi.begin(), zaobraditi.end(),
                          novi.begin(), novi.end(),
                          ii);
        zaobraditi = pom;
*/
    }
    cout << "\n";
}

void pisi()
{
    ofstream f("marica.out");
    if (rez==-1)
    	f << "NEMOGUCE\n";
    else
    	f << rez << "\n";
}

int main()
{
    citaj();
    rijesi();
    pisi();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内久久精品视频| 国产精一品亚洲二区在线视频| 国产人妖乱国产精品人妖| 自拍偷在线精品自拍偷无码专区| 久久―日本道色综合久久| 精品久久五月天| 精品国产一区a| 国产丝袜美腿一区二区三区| 国产精品视频在线看| 中文字幕在线观看不卡| 亚洲色图色小说| 亚洲国产精品一区二区www| 亚洲va欧美va人人爽| 免费在线成人网| 国产综合一区二区| 成人激情午夜影院| 欧美亚洲自拍偷拍| 日韩欧美一卡二卡| 国产免费成人在线视频| 亚洲精品成人精品456| 亚洲综合一二区| 久久成人免费网| 国产精品羞羞答答xxdd | 在线观看一区日韩| 在线视频欧美精品| 日韩欧美综合一区| 国产精品素人视频| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲va国产天堂va久久en| 奇米色777欧美一区二区| 国产sm精品调教视频网站| 色琪琪一区二区三区亚洲区| 日韩欧美国产一区二区在线播放 | 欧美自拍偷拍午夜视频| 日韩女优制服丝袜电影| 亚洲欧美乱综合| 欧美探花视频资源| 538prom精品视频线放| 亚洲国产精品t66y| 免费欧美在线视频| 91在线观看美女| 精品国产伦一区二区三区免费| 国产精品麻豆欧美日韩ww| 日韩精品成人一区二区三区| 国产电影一区二区三区| 91麻豆精品国产91久久久更新时间 | 国产成人av福利| 欧美美女喷水视频| 自拍偷拍国产亚洲| 国产成人免费在线| 精品久久久久久无| 日本va欧美va精品| 欧美中文字幕不卡| 亚洲视频在线一区| 国产不卡视频一区| 久久五月婷婷丁香社区| 日本中文字幕一区二区视频 | 国产日产亚洲精品系列| 丝瓜av网站精品一区二区 | 国产三级精品三级| 国产一区二区三区视频在线播放| 欧美日韩一区二区三区免费看| 中文字幕在线不卡一区| 成人一级片网址| 午夜欧美视频在线观看| 成人激情开心网| 亚洲国产精品传媒在线观看| 国产精品资源网| 国产亚洲va综合人人澡精品| 狠狠色综合色综合网络| 精品成人在线观看| 国产一区二区在线影院| www激情久久| 国产黄色精品网站| 中文字幕精品综合| 成人av资源在线观看| 中文字幕亚洲区| 色综合久久天天| 亚洲欧洲日韩在线| 在线欧美一区二区| 日韩精品视频网站| 日韩欧美色综合| 丁香另类激情小说| 亚洲日本在线天堂| 欧美日产在线观看| 美女免费视频一区| 日本一区二区成人| 色播五月激情综合网| 亚洲小说欧美激情另类| 91精品国产福利| 狠狠色丁香婷婷综合| 国产精品天美传媒沈樵| 色婷婷精品大视频在线蜜桃视频| 亚洲精品国产精华液| 制服丝袜av成人在线看| 91福利在线观看| 毛片av中文字幕一区二区| 久久久久九九视频| 色婷婷综合久久久久中文一区二区 | 国产精品久久久久久户外露出| 99热在这里有精品免费| 亚洲国产精品久久不卡毛片| 日韩欧美精品在线视频| 99久久精品国产一区二区三区| 亚洲一区二区三区四区的 | 欧美色图12p| 久久精品国产亚洲a| 中文字幕巨乱亚洲| 在线电影欧美成精品| 懂色av一区二区夜夜嗨| 婷婷开心激情综合| 国产精品网站在线| 91精品在线观看入口| www.欧美精品一二区| 日韩成人精品在线观看| 国产精品久久福利| 欧美岛国在线观看| 在线观看日韩国产| 国产成人av影院| 天天射综合影视| 亚洲女人****多毛耸耸8| www一区二区| 欧美成人官网二区| 欧美日本精品一区二区三区| 福利一区福利二区| 美女精品自拍一二三四| 五月综合激情网| 一区二区三区四区亚洲| 久久久久国色av免费看影院| 91精品国产黑色紧身裤美女| 欧美亚男人的天堂| 91丨porny丨在线| 国产成人在线网站| 国内精品第一页| 久久99精品国产麻豆不卡| 亚洲一区二区av在线| 最新久久zyz资源站| 国产亚洲人成网站| 精品国产免费视频| 精品国产区一区| 日韩欧美国产综合| 日韩精品一区二区三区视频播放 | 久久精品理论片| 午夜影视日本亚洲欧洲精品| 国产精品综合网| 日韩av在线发布| 日韩精品电影在线| 男女性色大片免费观看一区二区 | 美女网站色91| 日本三级亚洲精品| 免费观看在线综合| 蜜臀av一区二区| 免费观看在线色综合| 捆绑紧缚一区二区三区视频| 久久精品国产精品亚洲红杏| 日韩电影一区二区三区| 久久成人精品无人区| 国产一区在线观看视频| 国产成人无遮挡在线视频| 国产黑丝在线一区二区三区| 成人黄色在线视频| 色呦呦国产精品| 欧美丰满美乳xxx高潮www| 日韩欧美亚洲国产另类| 国产欧美日产一区| 亚洲最新视频在线观看| 亚洲亚洲精品在线观看| 奇米四色…亚洲| 成人黄色av电影| 欧美视频中文字幕| 日韩色视频在线观看| 欧美激情艳妇裸体舞| 亚洲三级理论片| 麻豆91在线看| www.亚洲在线| 欧美一区二区视频观看视频| 久久亚洲精品国产精品紫薇| 国产精品久久99| 青青草一区二区三区| 成人黄色免费短视频| 欧美高清你懂得| 国产精品午夜在线| 午夜一区二区三区视频| 国产精品夜夜嗨| 欧美人与性动xxxx| 亚洲国产精品成人综合| 丝袜美腿亚洲一区二区图片| 国产成人小视频| 91麻豆精品国产91久久久 | 日韩丝袜美女视频| 亚洲色图视频网站| 久久99九九99精品| 精品1区2区3区| 中文字幕av一区二区三区高| 日日夜夜免费精品| 成人app网站| 亚洲精品一区二区精华| 亚洲无线码一区二区三区| 国产精品99久久久久久似苏梦涵 | 一区二区三区在线视频免费观看|