結果
問題 |
No.142 単なる配列の操作に関する実装問題
|
ユーザー |
|
提出日時 | 2019-07-19 20:14:25 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,322 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 147,448 KB |
最終ジャッジ日時 | 2024-12-26 00:29:28 |
合計ジャッジ時間 | 37,872 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 5 |
ソースコード
#!/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()