青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評論 - 47, 引用 - 0
數據加載中……

POJ 1048 Follow My Logic 有意思的題

這題很有意思哇。給出一個這樣的東西:
A---+
    |   
    +---:\
        : >o---:\
    +---:/     : )---?
    |      C--o:/
B---+

其中:
        :\               :\                 -:\                 -o:\                       A-o:\
        : )              : >                 : )-                 : )o-                       : )o-?
        :/               :/                 -:/                 --:/                       B--:/
   
     AND gate          OR gate       Gate with inputs    An inverted top input          Two logic input
                                                         and an inverted output         and the output


然后叫你分析它的輸出。
其實哥比較喜歡這種有創意的題,做這種題代碼也寫得比較有意思。


#include <stdio.h>
#include 
<string.h>

struct node {
    
char type, n[3];
    
struct node *child[2];
}
;
struct node nodes[128], *root;
int nodes_cnt;
char map[128][128], input[32];
int W[128], H;

int in_range(int dx, int dy)
{
    
return !(dx < 0 || dx >= W[dy] || dy < 0 || dy >= H);
}


void follow_path(int x, int y, struct node **p_node);

int find_node(int x, int y, struct node **p_node)
{
    
struct node *t;

    
if (map[y][x] >= 'A' && map[y][x] <= 'Z'{
        t 
= &nodes[nodes_cnt++];
        t
->type = map[y][x];
        
*p_node = t;
        
return 1;
    }

    
if (map[y][x] == 'o')
        x
--;
    
if (map[y][x] == ')' || map[y][x] == '>'{
        t 
= &nodes[nodes_cnt++];
        memset(t, 
0sizeof(*t));
        t
->type = map[y][x];
        
*p_node = t;
        
if (in_range(x - 3, y - 1&& map[y - 1][x - 3== 'o')
            t
->n[0= 1;
        
if (in_range(x - 3, y + 1&& map[y + 1][x - 3== 'o')
            t
->n[1= 1;
        
if (in_range(x + 1, y) && map[y][x + 1== 'o')
            t
->n[2= 1;
        follow_path(x 
- 3, y - 1&t->child[0]);
        follow_path(x 
- 3, y + 1&t->child[1]);
        
return 1;
    }


    
return 0;
}


void follow_path(int x, int y, struct node **p_node)
{
    
int i, dx, dy;
    
const struct {
        
char ch;
        
int dx, dy;
    }
 dir[4= {
        
{'-'-10},
        
{'-'10},
        
{'|'01},
        
{'|'0-1}
    }
;

    
while (1{
        
for (i = 0; i < 4; i++{
            dx 
= x + dir[i].dx;
            dy 
= y + dir[i].dy;
            
if (!in_range(dx, dy))
                
continue;
            
if (map[dy][dx] == dir[i].ch || map[dy][dx] == '+')
                
break;
            
if (find_node(dx, dy, p_node))
                
return ;
        }

        
if (i == 4)
            
break;
        map[y][x] 
= '.';
        x 
= dx;
        y 
= dy;
    }


    
*p_node = NULL;
}


int calc(struct node *t)
{
    
if (!t)
        
return 0;
    
if (t->type >= 'A' && t->type <= 'Z')
        
return input[t->type - 'A'- '0';
    
if (t->type == ')'
        
return ((calc(t->child[0]) ^ t->n[0]) & 
                (calc(t
->child[1]) ^ t->n[1])) ^
               t
->n[2];
    
if (t->type == '>')
        
return ((calc(t->child[0]) ^ t->n[0]) | 
                (calc(t
->child[1]) ^ t->n[1])) ^
               t
->n[2];
    
return 0;
}


void find_root()
{
    
int x, y;

    root 
= NULL;
    
for (y = 0; y < H; y++
    
for (x = 0; x < W[y]; x++{
        
if (map[y][x] == '?'{
            follow_path(x, y, 
&root);
            
return ;
        }

    }

}


int main()
{

    freopen(
"e:\\test\\in.txt""r", stdin);

    
while (1{
        nodes_cnt 
= 0;
        H 
= 0;
        
while (1{
            
if (!fgets(map[H], sizeof(map[H]), stdin))
                
return 0;
            
if (map[H][0== '*')
                
break;
            W[H] 
= strlen(map[H]);
            H
++;
        }

        find_root();
        
while (1{
            fgets(input, 
sizeof(input), stdin);
            
if (input[0== '*')
                
break;
            printf(
"%d\n", calc(root));
        }

        printf(
"\n");
    }


    
return 0;
}

posted on 2010-02-13 02:11 糯米 閱讀(594) 評論(0)  編輯 收藏 引用 所屬分類: POJ

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品国产三级国产aⅴ浪潮| 一本色道88久久加勒比精品| 亚洲欧洲在线观看| 在线观看日韩国产| 亚洲第一主播视频| 日韩午夜在线播放| 亚洲一区高清| 亚洲一区二区三区在线看| 久热这里只精品99re8久| 亚洲国产电影| 亚洲激情电影中文字幕| 亚洲黄色在线视频| 亚洲性感美女99在线| 欧美亚洲免费| 欧美成人精品在线观看| 亚洲人精品午夜| 亚洲图片在线| 免费久久精品视频| 国产精品毛片一区二区三区| 韩国一区二区在线观看| 亚洲理论在线| 久久精品免费| 日韩视频国产视频| 久久精品1区| 欧美日韩国产综合视频在线观看| 国产精品免费看片| 亚洲国产另类 国产精品国产免费| 亚洲一区二区欧美| 国产一区二区av| 免费视频久久| 在线看无码的免费网站| 欧美久久久久| 国产亚洲观看| 一区二区三区欧美成人| 久久精品综合| 中日韩男男gay无套| 欧美 日韩 国产 一区| 国产乱码精品一区二区三| 日韩一级成人av| 免费欧美在线| 欧美一区二区大片| 国产精品久久久久77777| 亚洲激情在线| 久热国产精品| 欧美在线国产| 亚洲国产日日夜夜| 99视频在线精品国自产拍免费观看| 在线一区欧美| 欧美美女操人视频| 亚洲黄色毛片| 欧美电影在线观看| 久久免费国产精品1| 国产一区二区无遮挡| 亚洲欧美在线另类| 亚洲一区二区不卡免费| 欧美日韩理论| 亚洲图片激情小说| 一区二区高清视频| 欧美性事在线| 先锋亚洲精品| 亚洲午夜精品17c| 欧美特黄一区| 亚洲尤物在线| 亚洲午夜伦理| 国产三级欧美三级日产三级99| 午夜精品久久久久久久| 亚洲一区二区在线视频| 国产精品一区二区在线观看不卡| 久久精品国产亚洲高清剧情介绍| 99在线热播精品免费| 免费不卡中文字幕视频| 亚洲精品中文字幕在线| 一本色道久久综合亚洲91| 欧美成人免费大片| 99视频有精品| 亚洲天堂av在线免费| 国产精品免费在线 | 免费观看日韩| 亚洲精品国产品国语在线app| 欧美激情在线免费观看| 欧美精品免费在线观看| 亚洲视频在线观看网站| 亚洲天堂男人| 在线精品国精品国产尤物884a| 亚洲第一黄网| 欧美三区美女| 久久九九精品| 欧美不卡视频一区| 亚洲欧美日韩在线不卡| 久久久欧美精品sm网站| 一区二区日韩免费看| 欧美亚洲网站| 亚洲精选91| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产亚洲成av人片在线观看桃| 欧美激情亚洲国产| 国产精品一区久久| 欧美激情第六页| 国产精品亚洲精品| 亚洲第一网站| 国产亚洲欧美日韩美女| 亚洲精品免费观看| 狠狠88综合久久久久综合网| 亚洲人成人一区二区在线观看| 国产精品麻豆成人av电影艾秋 | 久久久7777| 欧美日韩精品欧美日韩精品| 久久午夜精品| 国产精品免费一区豆花| 亚洲国产精品成人一区二区| 国产欧美日韩另类视频免费观看| 亚洲国产精品一区在线观看不卡| 国产麻豆精品久久一二三| 亚洲欧洲视频在线| 狠狠久久婷婷| 欧美一级黄色网| 亚洲——在线| 欧美三级韩国三级日本三斤| 欧美成人dvd在线视频| 国产乱人伦精品一区二区| 亚洲肉体裸体xxxx137| 亚洲福利国产精品| 久久精品国产99| 欧美一级在线视频| 欧美视频亚洲视频| 99成人精品| 在线综合亚洲欧美在线视频| 免费久久99精品国产自| 国产视频亚洲精品| 亚洲一级二级| 亚洲欧美日韩成人高清在线一区| 欧美丰满少妇xxxbbb| 欧美电影在线免费观看网站| 在线播放精品| 老牛嫩草一区二区三区日本| 美女视频黄 久久| 伊人精品视频| 久久综合国产精品台湾中文娱乐网| 久久亚洲春色中文字幕久久久| 国产欧美日韩精品在线| 校园激情久久| 巨乳诱惑日韩免费av| 狠狠狠色丁香婷婷综合久久五月| 欧美在线视频网站| 久久婷婷一区| 亚洲国产第一页| 欧美福利电影网| 欧美一区二区精品| 亚洲字幕一区二区| 国产伦精品一区二区三区视频孕妇| 久久爱另类一区二区小说| 欧美一区二区三区视频免费播放| 国产精品久久夜| 亚洲欧美日韩在线一区| 欧美中在线观看| 一区二区在线观看av| 久久免费黄色| 亚洲激情在线播放| 亚洲综合电影一区二区三区| 国产精品嫩草99a| 久久久国产视频91| 亚洲激情在线播放| 亚洲午夜免费福利视频| 国产精品视频福利| 久久亚洲电影| 99热在线精品观看| 久久一日本道色综合久久| 亚洲精品乱码| 国产伦精品一区二区三区照片91| 亚洲人成网站在线观看播放| 欧美激情视频一区二区三区不卡| 99pao成人国产永久免费视频| 欧美特黄一级| 久久夜色精品国产欧美乱极品| 最新亚洲一区| 久久精品1区| 9i看片成人免费高清| 国产视频久久久久| 欧美激情四色| 久久久青草青青国产亚洲免观| 日韩午夜剧场| 欧美成人精品一区| 久久精品五月| 一区二区三区欧美亚洲| 精品粉嫩aⅴ一区二区三区四区| 欧美日韩调教| 久久伊人一区二区| 亚洲欧美在线播放| 日韩视频永久免费| 欧美xx69| 久久午夜羞羞影院免费观看| 亚洲免费在线观看| 99ri日韩精品视频| 亚洲大黄网站| 国产午夜精品美女视频明星a级| 欧美日韩国产页| 欧美成人亚洲成人| 久久精品中文字幕一区| 欧美日韩精品欧美日韩精品一| 亚洲欧美日韩国产精品|