鼻貫通:2021冬毛殻co 2回結果


21.01.06. (水)20時~23時

文多燕
https://www.acmicpc.net/problem/2252
BOJ 252の行列問題に答えました.位相ソートは2学期のアルゴリズムの授業から学んだアルゴリズムで、授業の前に2252問の問題が解答しなかったため、孤軍奮闘した.しかし,位相ソートが分かってすぐに解けるようになり,種々のアルゴリズムの学習に必要となる.
文慧琳
『結果』
条件文
  • 重複文を使用して恒星形状
  • を撮影する.
    繰り返し文(for,while)
    a = range(1, 11)
    print(list(a))
    for i in range(10):
    print(i) # 0 1 2 ... 9
    for i in range(10,0,-1):1が小さくなる
    print(i) # 10 9 8 ... 1
    ドア
    i = 1
    while i <= 10:
        print(i)
        i = i+1  # 1씩 증가
    
    i = 10
    while i >= 1:
        print(i)
        i = i-1  # 1씩 감소
    無限反復
    i = 1
    while True:
        print(i)
        if i == 10:
            break
        i += 1
    continue
    for i in range(1, 11):
        if i % 2 == 0:
            continue
        print(i)
        
    ##### for-else
    for i in range(1, 11):
        print(i)
        if i==5:
            break
    else:
        print(11) # break를 당해 출력 X    
    
    複文で問題を解く
    1)1からNまでの奇数出力
    2)1からNの和を求める
    3)Nの約数出力
    1)
    n = int(input())  # input()은 str이므로 꼭 형변환!
    for i in range(1, n+1):
        if i % 2 != 0:
            print(i)
    2)
    sum = 0
    for i in range(1, n+1):
        sum += i
    print(sum)
    3)
    for i in range(1, n+1):
        if n % i == 0:
            print(i , end=' ') # 줄 안바꿈
    
    オーバーラップ繰り返し文(バイリンガル文)
    for i in range(5):
        for j in range(i+1):
            print("*", end=' ')
        print()
    
    for i in range(5):
        for j in range(5-i):
            print("*", end=' ')
        print()
    薄型機
    1.位相整列の基本的な問題を解いた.
    各ノードに位相値を設定した後、位相値が0のノードを検索して出力します.
    この問題では,2つ以上の位相値が同じ0であれば,一定の順序はない.
    2.位相整列深化問題
    ●グラフをArrayList[配列]にした理由
    昨年のランキングでは、順位を変えるためにグラフィックの方向を変える必要があった.
    例えば、5 4 3 2 1が昨年のランキングであれば、4から2方向につながる幹線があります.
    このとき、2と4の間の幹線方向を変えるために、ArrayListの4番目のうち、2を見つけて消去します.
    ただし、ArrayListに配列を作成し、配列[2]に2を格納する場合は、配列[2]=0に配列を作成するだけです.
    その後、位相整列を行う場合、アレイを完全に探索する必要があり、時間的複雑さを損なう可能性があるが、符号化自体はより便利である.
    最初は,位相基準とグラフィック間の不一致をどのように判断するかを考えていた.
    昨年のランキングをもとに全員を繋ぎ、ランキングの幹線だけを変えた結果、思ったより簡単でした.
    乳杆菌
    白準3273の2つの数の和(ダブルポインタ)
    この問題は複数の数と目標数の入力であり,そのうちの1対数のフィッティングが目標となり,その個数がいくらであるかを問う.
    この問題は,2つのint型変数(p 1,p 2配列を表すインデックス)をポインタとして解決する.
    先に入力した剰余金を個数で配列に格納する
    このとき整理せずにSortを使用して昇順に並べ替えます
    次にp 1=0,p 2=配列の最後の1つを保存し,2つの位置の和を計算する.
    そして目標と同じなら、p 1に1を加え、p 2に1を減らし、1つの数を数えます.
    (この問題では数が違うので、そうしても大丈夫です)
    でも目標より大きければp 2万1を外し、小さければp 1万1を加えればいいです.
    この方法をp 1がp 2より大きいまで繰り返します.

    ジャワサーカス++
    文で続行
    文多燕
    文慧琳https://github.com/dayo2n/MGK_winter_2020/projects
    薄型機
    乳杆菌https://github.com/moo-nerim/20_Winter-Mogakco/blob/main/Lecture_02.py