https://vjudge.net/problem/UVA-11210

//被水题虐了一上午...

 #include<iostream>
 #include<cstdio>
 #include<cstring>
 using namespace std;
 const char* mahjong[]={"GZH","1T","2T","3T","4T","5T","6T","7T","8T","9T",
     "1S","2S","3S","4S","5S","6S","7S","8S","9S",
     "1W","2W","3W","4W","5W","6W","7W","8W","9W",
     "DONG","NAN","XI","BEI","ZHONG","FA","BAI"};
 ],startMahjong[];//last mahjong
 ];
 int ID(char* s){
     ;i<=;i++)
         ) return i;
     ;
 }
 bool dfs(int l){
     ) return true;
     ;i<=;i++){
         ){
             c[i]-=;
             )) return true;
             c[i]+=;
         }
     }
     ;i<=;i++)
         <=&&i%&&c[i]>=&&c[i+]>=&&c[i+]>=){
             --c[i];--c[i+];--c[i+];
             )) return true;
             ++c[i];++c[i+];++c[i+];
         }
     return false;
 }
 bool Judge(){
     ;i<=;i++){
         ){
             c[i]-=;
             )) return true;
             c[i]+=;
         }
     }
     return false;
 }
 int main()
 {
     ;
     ){
         ]==;
         printf("Case %d:",++caseCount);
         startMahjong[]=ID(input);
         ;i<=;i++){
             scanf("%s",input);startMahjong[i]=ID(input);
         }
         ;
         ;i<=;i++){
             memset(c,,sizeof(c));
             ;j<=;j++) c[startMahjong[j]]++;
             ) continue;
             c[i]++;
             if(Judge()){
                 ok=;
                 printf(" %s",mahjong[i]);
             }
             c[i]--;
         }
         if(!ok) printf(" Not ready");
         printf("\n");
     }
 }

UVa11210 中国麻将 Chinese Mahjong-搜索的更多相关文章

  1. uva 11210 Chinese Mahjong(暴力搜索)

    Chinese Mahjong Mahjong () is a game of Chinese origin usually played by four persons with tiles res ...

  2. UVa中国麻将(Chinese Mahjong,Uva 11210)

    简单的回溯题 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm ...

  3. 【题解】 UVa11210 Chinese Mahjong

    pdf传送门 直接模拟+搜索,考虑一下选哪一个是将,然后搜出顺子和刻子,最后判断一下可不可行就好了! #include<stdio.h> #include<string.h> ...

  4. Chinese Mahjong

    OJ题号:UVa11210 思路: 首先字符串处理读入手牌,str数组将手牌和数字对应,接下来搜索,先搜对子,如果搜过对子就不搜了.由于对子有且只有一个,可以在搜到以后直接跳出.同时注意一副麻将中每种 ...

  5. Chinese Mahjong UVA - 11210 (暴力+回溯递归)

    思路:得到输入得到mj[]的各个牌的数量,还差最后一张牌.直接暴力枚举34张牌就可以了. 当假设得到最后一张牌,则得到了的牌看看是不是可以胡,如果可以胡的话,就假设正确.否者假设下一张牌. 关键还是如 ...

  6. Chinese Mahjong UVA - 11210 (DFS)

    先记录下每一种麻将出现的次数,然后枚举每一种可能得到的麻将,对于这个新的麻将牌,去判断可不可能胡,如果可以胡,就可以把这张牌输出出来. 因为eye只能有一张,所以这个是最好枚举的,就枚举每张牌成为ey ...

  7. UVa 11210 Chinese Mahjong (暴力,递归寻找)

    题意:这个题意.有点麻烦,就是说给定13张牌,让你求能“听”的牌.(具体的见原题) 原题链接: https://uva.onlinejudge.org/index.php?option=com_onl ...

  8. UVA 11210 中国麻将

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. UVa 11210 - Chinese Mahjong

    解题报告:麻将的规则这里就不说了,这题我们可以用暴力的方法,所以我们应该这样枚举,即将34张牌的每一张牌都放到原来的十三张牌里面去,所以这时我们只要判断这十四张牌能不能胡,因为若要胡的话一定要有一个对 ...

随机推荐

  1. VBA相关

    --能否彻底隐藏某行或某列 用代码隐藏列,将其放在Private Sub Worksheet_SelectionChange(ByVal Target As Range)Columns(1).Enti ...

  2. postgresql plpythonu例子

    以下代码仅作为参考之用 select md5, crc32, record->'UserModerAnalysis'->'base_info'->'file_malware' as ...

  3. (C/C++) Callback Function 回调(diao)函数

    原文: http://www.codeguru.com/cpp/cpp/cpp_mfc/callbacks/article.php/c10557/Callback-Functions-Tutorial ...

  4. PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)

    2014-12-09 Created By BaoXinjian

  5. Linux命令(20)查看当前网速

    Linux查看网络即时网速 sar -n DEV 1 100 1代表一秒统计并显示一次 100代表统计一百次 还可以使用ntop工具

  6. Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键

    在Android系统中用来显示界面的组件(Component)为Activity,也就是说只有重写Activity的onKeyDown方法来监控/拦截/屏蔽系统的返回键(back).菜单键(Menu) ...

  7. c#unity

    using UnityEngine;using System.Collections; public class PacmanMove : MonoBehaviour { public float s ...

  8. JAVA 想让类无法new,可以使用private将类的构造函数改为私有的,这样new的时候就会报错了

    JAVA 想让类无法new,可以使用private将构造函数改为私有的,这样new的时候就会报错了 主要用于,静态工具类,静态类不需要new,直接使用   类名.静态方法  即可调用 class D{ ...

  9. iOS 批量打包--Shell脚本

    由于公司有批量打包的需要,只是渠道号不一样,网上搜索一番,大致有两个方式:a) 从源程序一次性打出所有渠道的ipa包,大概的思路就是利用脚本循环执行打包过程,而每次打包前都通过脚本修改项目中存放渠道号 ...

  10. [ActionScript 3.0] AS3虚线绘制方法

    import flash.geom.Point; import flash.display.MovieClip; import flash.display.Graphics; var mc:Movie ...