• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 101,  comments - 57,  trackbacks - 0

            此提一共有三種解法:
            1.枚舉
               最樸素的算法,但是一開始我居然不知道如何來枚舉。大概的原理是:以位置1,1開始變化。得到16種位置的最小解法,然后選最少的一個(gè)就OK。

            2.BFS
               一開始,我想到的就是這個(gè)解法。原來還認(rèn)為是枚舉,但是仔細(xì)看看應(yīng)該是BFS。因?yàn)槭怯涗浗o自己看的,所以解法不說。

            3.直接給結(jié)果

               這題和之前的黑白子差不多。不過那題我是BFS過的。所以這題,想看看枚舉人家怎么做的。但是沒想到搜索到了這種解法,對(duì)比了一下discuss和他的講解。下面將代碼貼出來。

             1// http://www.shnenglu.com/Yusi-Xiao/archive/2010/07/05/77385.html
             2// 先看一個(gè)簡(jiǎn)單的問題,如何把'+'變成'-'而不改變其他位置上的狀態(tài)?
             3// 答案是將該位置(i,j)及位置所在的行(i)和列(j)上所有的handle更新一次。
             4// 結(jié)果該位置被更新了7次,相應(yīng)行(i)和列(j)的handle被更新了4次,剩下的被更新了2次.
             5// 被更新偶數(shù)次的handle不會(huì)造成最終狀態(tài)的改變.
             6// 因此得出高效解法,在每次輸入碰到'+'的時(shí)候, 計(jì)算所在行和列的需要改變的次數(shù)
             7// 當(dāng)輸入結(jié)束后,遍歷數(shù)組,所有為奇數(shù)的位置則是操作的位置,而奇數(shù)位置的個(gè)數(shù)之和則是最終的操作次數(shù).
             8// PS:該題不會(huì)有"Impossible"的情況.
             9
            10#include <stdio.h>
            11
            12#define Len 4
            13
            14void main()
            15{
            16    int handles[Len][Len] = {0};
            17    int  i, j, k, step = 0;
            18    char c;
            19    
            20    // 核心算法,統(tǒng)計(jì)翻轉(zhuǎn)的總次數(shù)
            21    for (i = 0; i < Len; ++i)
            22    {
            23        for (j = 0; j < Len; ++j)
            24        {
            25            scanf("%c\n"&c);
            26            if ('+' == c)
            27            {
            28                handles[i][j]++;
            29                for (k = 0; k < Len; ++k)
            30                {
            31                    handles[i][k]++;            // 這種算法重復(fù)計(jì)算i,j 處,但是對(duì)于只需要判斷奇偶來說無(wú)所謂
            32                    handles[k][j]++;
            33                }

            34            }

            35        }

            36    }

            37    // 統(tǒng)計(jì)奇數(shù)的個(gè)數(shù)
            38    for (i = 0; i < Len; ++i)
            39    {
            40        for (j = 0; j < Len; ++j)
            41        {
            42            if (handles[i][j] % 2)
            43            {
            44                step++;
            45            }

            46        }

            47    }

            48    printf("%d\n", step);
            49    
            50    // 打印奇數(shù)的位置
            51    for (i = 0; i < Len; ++i)
            52    {
            53        for (j = 0; j < Len; ++j)
            54        {
            55            if (handles[i][j] % 2)
            56            {
            57                printf("%d %d\n", i + 1, j + 1);
            58            }

            59        }

            60    }

            61}
            ps.
            1.這個(gè)算法居然也用了64ms。
            2.一開始用的scanf("%c", &c);忘記了\n,錯(cuò)了。然后居然牛逼的想到scanf("%c\n", &c);哈哈!
            3.鏈接中的作者有部分說錯(cuò)了,在上面的注釋我更正了一下。
            4.不知道為啥poj的域名變成poj.org....
            posted on 2010-10-02 16:52 margin 閱讀(565) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2010年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            常用鏈接

            留言簿

            隨筆檔案

            文章分類

            文章檔案

            收藏夾

            常去的壇子

            • CVC電腦病毒論壇
            • 很多人說我是AV,我告訴他們:別瞧不起人,我們也能創(chuàng)造價(jià)值
            • 安全焦點(diǎn)
            • 黑客聚集的地方,一般是好酒最多的地方...
            • 看雪論壇
            • 國(guó)內(nèi)最強(qiáng)的加密解密論壇,成醉其中經(jīng)常夜不歸宿
            • 驅(qū)動(dòng)開發(fā)論壇
            • 厭倦了啤的朋友們,來我們來整點(diǎn)白的...痛痛快快的BSOD也好過隔鞋瘙癢!

            我的朋友

            • Sen的blog
            • IDE方面資深的受害者...經(jīng)常為一個(gè)變量的定義找不著北的痛苦程序員(深表同情)
            • 老羅的blog
            • 良師益友,千年水牛,引擎猛男,分析怪獸,墨鏡酷哥,臺(tái)球高手....

            搜索

            •  

            最新評(píng)論

            欧美成a人片免费看久久| 99精品国产综合久久久久五月天| 久久夜色精品国产欧美乱| 久久99精品国产麻豆| 成人国内精品久久久久影院VR | 欧美久久久久久午夜精品| 亚洲国产成人久久综合碰| 久久综合狠狠综合久久综合88| 久久精品国产精品青草| 久久久国产亚洲精品| 国产精品久久久久aaaa| 精品久久久久久久久中文字幕| 久久人人爽人爽人人爽av| 国产亚洲综合久久系列| 人人妻久久人人澡人人爽人人精品| 久久香蕉国产线看观看精品yw| 久久精品国产99久久丝袜| 狠狠色丁香久久婷婷综合五月| 精品国产91久久久久久久a| 狠狠88综合久久久久综合网 | 精品久久久久成人码免费动漫 | 久久99精品久久久久久水蜜桃| 久久99久国产麻精品66| 无码伊人66久久大杳蕉网站谷歌 | 久久精品国产亚洲麻豆| 久久精品人成免费| 亚洲色婷婷综合久久| 欧美伊人久久大香线蕉综合| 久久久综合香蕉尹人综合网| 91亚洲国产成人久久精品| 狠狠色丁香久久综合婷婷| 国产综合久久久久| 99久久免费国产精精品| 久久99国产乱子伦精品免费| 欧洲成人午夜精品无码区久久| 奇米影视7777久久精品人人爽| 亚洲婷婷国产精品电影人久久| 亚洲国产日韩欧美久久| 99久久综合国产精品免费| 久久精品卫校国产小美女| 久久精品国产精品亚洲毛片|