#!/usr/bin/env python

from cyaron import * # 引入CYaRon的库
import math

_n = ati([0, 10, 1E2, 1E3, 32767]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小
_m = ati([0, 10, 100, 1000, 1E6])
_k = ati([0, 0, 10, 1000, 1E4])
_t = ati([0, 4, 4, 2, 3])
sn = 1

for i in range(1, 4):
    for t in range(_t[i]):
        test_data = IO(file_prefix="test", data_id=sn)
        n = _n[i]
        m = _m[i]
        n = randint(1, n)
        r = randint(2023, n)
        x = randint(1, n)
        y = randint(1, n)
        test_data.input_writeln(a, b)
        test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out
        sn += 1
#A2024


6 comments

  • @ 2023-6-1 16:11:56
    #!/usr/bin/env python
    
    from cyaron import * # 引入CYaRon的库
    import math
    import numpy as np
    
    _n = ati([0, 10, 100, 500, 1E3]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小
    _m = ati([0, 10, 1E3, 1E6, 1E9])
    _k = ati([0, 0, 10, 1000, 1E4])
    _t = ati([0, 5, 5, 5, 5])
    sn = 1
    
    for __i in range(1, 5):
        for __t in range(_t[__i]):
            test_data = IO(file_prefix="test", data_id=sn)
            n = _n[__i]
            m = _m[__i]
            k = _k[__i]
            n = randint(6, n)
            c = randint(n, (n-1)*(n-1))
            m = randint(1, n)
            test_data.input_writeln(n, m)
            graph =  Graph.graph(n,c, weight_limit=1000, directed=True)
            arr = np.zeros((n, n), dtype=int)
            for edge in graph.iterate_edges():
                u = edge.start
                v = edge.end
                w = edge.weight
                arr[u-1][v-1] = w
            for x in arr:
                x = x.tolist()
                #print(x)
                test_data.input_writeln(x)
            test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out
            sn += 1
    #P84
    
    
    • @ 2023-5-9 11:53:33

      多组数据, 每组数据输出整数

      #!/usr/bin/env python
      
      from cyaron import * # 引入CYaRon的库
      import math
      
      _n = ati([0, 1E1, 1E3, 1E4, 1E6]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小
      _m = ati([0, 10, 1E2, 1E3, 5E3])
      _k = ati([0, 0, 10, 1000, 1E4])
      _t = ati([0, 5, 5, 5, 5])
      sn = 1
      
      for __i in range(1, 5):
          for __t in range(_t[__i]):
              test_data = IO(file_prefix="test", data_id=sn)
              n = _n[__i]
              m = _m[__i]
              k = _k[__i]
              t = randint(2, 100)
              test_data.input_writeln(t)
              for j in range(t):
                  a = randint(1, n)
                  b = randint(1, n)
                  c = randint(1, n)
                  test_data.input_writeln(a, b, c)
              test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out
              sn += 1
      #P84
      
      • @ 2022-10-30 15:16:39
        #!/usr/bin/env python
        
        from cyaron import * # 引入CYaRon的库
        import math
        
        _n = ati([0, 3, 5, 5E3, 1E3, 2E3, 1E4, 8E5]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小
        _m = ati([0, 0, 5, 1E2, 1E2, 1E3, 1E3, 1E5])
        _k = ati([0, 10, 100, 100, 1E9])
        _t = ati([0, 4, 4, 4, 5, 5, 5, 5])
        sn = 1
        
        for i in range(1, 8):
            for t in range(_t[i]):
                test_data = IO(file_prefix="test", data_id=sn)
                n = _n[i]
                m = _m[i]
                #print(n)
                x = randint(2, n)
                y = x-1
                a = String.random(x, charset="10")
                b = String.random(y, charset="&|")
                c = []
                c.append(a[0])
                lb = len(b)
                for j in range(lb):
                    c.append(b[j])
                    c.append(a[j+1])
                num = randint(0, m)
                for o in range(num):
                    while True:
                        q = randint(0, len(c)-1)
                        #print("c[q]=", c[q])
                        if c[q] == '0' or c[q] == '1' or c[q] == '(':
                            c.insert(q, '(')
                            break
                    while True:
                        p = randint(q, len(c)-1)
                        #print("c[p]=", c[p])
                        if c[p] == '0' or c[p] == '1' or c[p] == ')':
                            c.insert(p+1, ')')
                            break
                #print(c)
                s = ""
                for e in c:
                    s += e;
                #print(s)
                test_data.input_writeln(s)
                test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out
                sn += 1
        
        
        #P211
        
        • @ 2022-10-30 14:11:20
          #!/usr/bin/env python
          
          from cyaron import * # 引入CYaRon的库
          import math
          
          _n = ati([0, 10, 10, 500, 500]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小
          _m = ati([0, 0, 100, 0, 100])
          _k = ati([0, 10, 100, 100, 1E9])
          _t = ati([0, 5, 5, 5, 5])
          sn = 1
          
          for i in range(1, 5):
              for t in range(_t[i]):
                  test_data = IO(file_prefix="test", data_id=sn)
                  n = _n[i]
                  m = _m[i]
                  k = _k[i]
                  n = randint(1, n)
                  c = randint(0, m)
                  test_data.input_writeln(n, c)
                  a = Vector.random(n, [(1, k), (1, k)], 0)
                  #print(a)
                  test_data.input_writeln(a)
                  test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out
                  sn += 1
          
          
          #P212
          
          • @ 2022-9-28 11:03:58
            #!/usr/bin/env python
            
            from cyaron import * # 引入CYaRon的库
            import math
            
            _n = ati([0, 10, 1E2, 1E3, 5E5]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小
            _m = ati([0, 1E2, 1E3, 1E9, 1E18])
            _k = ati([0, 0, 10, 1000, 1E4])
            _t = ati([0, 2, 2, 3, 3])
            sn = 1
            
            def dfs(a, l, r):
                if l >= r:
                    return
                t = randint(l, r)
                c = a[l];
                for i in range(l, t):
                    a[i] = a[i+1]
                a[t] = c;
                dfs(a, l+1, t-1)
                dfs(a, t+1, r)
            
            def solve(n):
                a = [i+1 for i in range(n)]
                dfs(a, 0, n-1)
                return a
            
            for i in range(1, 5):
                for t in range(_t[i]):
                    test_data = IO(file_prefix="test", data_id=sn)
                    n = _n[i]
                    m = _m[i]
                    n = randint(5, 100)
                    a = solve(n)
                    print(a)
                    test_data.input_writeln(n)
                    test_data.input_writeln(a)
                    test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out
                    sn += 1
            #P41
            

            构造线索二叉树

            • @ 2022-9-12 10:37:41
              #!/usr/bin/env python
              
              from cyaron import * # 引入CYaRon的库
              import math
              
              _n = ati([0, 10, 1E2, 1E3, 1E3]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小
              _m = ati([0, 10, 1E2, 1E3, 5E3])
              _k = ati([0, 0, 10, 1000, 1E4])
              _t = ati([0, 4, 4, 4, 4])
              sn = 1
              
              for i in range(1, 5):
                  for t in range(_t[i]):
                      test_data = IO(file_prefix="test", data_id=sn)
                      n = _n[i]
                      m = _m[i]
                      n = randint(2, n)
                      k = randint(1, m)
                      t = randint(1, 2*(n-1))
                      x = randint(1, n)
                      y = randint(1, n)
                      test_data.input_writeln(n, k, t)
                      test_data.input_writeln(x, y)
                      for j in range(k):
                          x1 = randint(1, n)
                          y1 = randint(1, n)
                          x2 = randint(x1, n)
                          y2 = randint(y1, n)
                          test_data.input_writeln(x1, y1, x2, y2)
                      test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out
                      sn += 1
              #P84
              
              • 1