結果

問題 No.142 単なる配列の操作に関する実装問題
ユーザー kamomekamome
提出日時 2019-07-19 20:14:25
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
TLE  
実行時間 -
コード長 1,322 bytes
コンパイル時間 93 ms
コンパイル使用メモリ 12,928 KB
実行使用メモリ 142,208 KB
最終ジャッジ日時 2024-06-07 17:03:51
合計ジャッジ時間 12,968 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 -- -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

#!/usr/bin/python3
#!coding:utf-8
import numpy as np
stdin=input().split()
N,S,X,Y,Z=map(int,stdin)

def mk_list(N,S,X,Y,Z):
    l=[S]
    prev=S
    for _i in range(N-1):
        prev = (X * prev + Y) % Z
        l.append(prev)
    return l


def mk_list_bool(N,S,X,Y,Z):
    l=[S]
    prev=S
    for _i in range(N-1):
        prev = (X * prev + Y) % Z
        l.append(prev)
    ll=[ True if x%2==1 else False for x in l ]
    return ll
#print(mk_list(N,S,X,Y,Z))
#print(mk_list_bool(N,S,X,Y,Z))

arr = np.array(mk_list_bool(N,S,X,Y,Z))
#int_arr = mk_list(N,S,X,Y,Z)

def mk_maskd_list(l,i,j,m,n):
    # l[i,j] --(copy)--> ll[m,n]
    ll = [False for _i in range(len(l))]
    ll[m-1:n-1] = l[i-1:j-1]
    return ll

def mk_maskd_list_int(l,i,j,m,n):
    # l[i,j] --(copy)--> ll[m,n]
    ll = [0 for _i in range(len(l))]
    ll[m-1:n-1] = l[i-1:j-1]
    #print(ll)
    return ll

def bogo_xor(l,ll):
    new_list=[]
    for _i in range(len(l)):
        new_list.append(l[_i]+ll[_i])
    return new_list

Q=int(input())
for _j in range(Q):
    I,J,K,L=map(int,input().split())
    arr = np.logical_xor(arr,mk_maskd_list(arr,I,J,K,L))
    #int_arr = bogo_xor(int_arr,mk_maskd_list_int(int_arr,I,J,K,L))
    #print(arr)
    #print(int_arr)
#print(arr)
for _i in list(arr):
    print("E" if _i==False else "O",end="")
print()
0