zoukankan      html  css  js  c++  java
  • SRM146 DIV1 600

    枚举所有情况,依次判断情况是否合法,合法则计数器加一。这里的关键是给定secret和guess如何生成result

     1 import re
     2 
     3 def processResult(result):
     4     r = re.search('(d)b (d)w', result)
     5     b = int(r.group(1))    
     6     w = int(r.group(2))
     7     return (b, w)
     8 
     9 def isvalid(x, guesses, results):
    10     lie = 0
    11     for i in range(0, len(guesses)):
    12         g = guesses[i]
    13         r = results[i]
    14         w = 0
    15         b = 0
    16         gflags = [False, False, False, False]
    17         xflags = [False, False, False, False]
    18         for j in range(0, 4):
    19             if x[j] == g[j]:
    20                 b = b + 1
    21                 xflags[j] = gflags[j] = True
    22 
    23         for j in range(0, 4):
    24             if not gflags[j]:
    25                 for k in range(0, 4):
    26                     if not xflags[k] and g[j] == x[k]:
    27                         xflags[k] = True
    28                         w = w + 1
    29                         break
    30 
    31         if not (b == r[0] and w == r[1]):
    32             lie = lie + 1
    33             if lie > 1:
    34                 return False
    35 
    36     if lie == 1:
    37         return True
    38     else:
    39         return False
    40     
    41 class Masterbrain:
    42     def possibleSecrets(self, guesses, results):
    43         results = [processResult(x) for x in results]
    44         tot = 0
    45         for x0 in range(1, 8):
    46             for x1 in range(1, 8):
    47                 for x2 in range(1, 8):
    48                     for x3 in range(1, 8):
    49                         x = str(x0 * 1000 + x1 * 100 + x2 * 10 + x3)
    50                         if isvalid(x, guesses, results):
    51                             tot = tot + 1
    52 
    53         return tot
    View Code
  • 相关阅读:
    cookie、 Session Storage 、 Local Storage
    json 常用的方法
    ssm 框架 使用ajax异步,实现登陆
    ssm框架整合,配置文件中的配置内容
    ipv4和ipv6的区别
    分析域名的解析过程
    网络体系结构总结
    线程同步和异步
    博客目录
    [STM32H743]按键控制LED
  • 原文地址:https://www.cnblogs.com/valaxy/p/3400598.html
Copyright © 2011-2022 走看看