プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
プログラミングのお題スレ Part19
■ このスレッドは過去ログ倉庫に格納されています
2020/11/30(月) 00:04:05.21ID:TF2Czp0y
84デフォルトの名無しさん
2020/12/13(日) 14:07:02.42ID:qXegsMRS85蟻人間 ◆T6xkBnTXz7B0
2020/12/13(日) 15:18:39.67ID:zFOj0dh9 >>84
ちょっと動作が遅いね。どちらも正だった場合は普通に比較できるんだから、マイナスありとなしで場合分けできるんじゃね。
ちょっと動作が遅いね。どちらも正だった場合は普通に比較できるんだから、マイナスありとなしで場合分けできるんじゃね。
2020/12/13(日) 18:34:56.68ID:jPgXPNr/
2020/12/13(日) 18:39:04.43ID:7dJX4pz2
>>19
lol
lol
88デフォルトの名無しさん
2020/12/14(月) 07:19:49.11ID:nk+3ocmA >>79 Julia
function f(x , y)
if (x >= 0) == (y >= 0)
x > y
else
!(x > y)
end
end
function f(x , y)
if (x >= 0) == (y >= 0)
x > y
else
!(x > y)
end
end
2020/12/14(月) 14:05:29.33ID:y4v5rW/c
今年考えたがボツにした、イマイチ問題より
[お題]
整数A, B (1 <= A < B <= 20億)が与えられる。
A以上, B以下の整数が持つ"約数の個数"を合計する。
1) 12 14 → 12
2) 1 100 → 482
3) 98765432 1234567890 → ?
4) 393939393 1772727272 → ?
5) 1 2000000000 → 43141689413
※ 1)の補足、各整数の約数は 12{1,2,3,4,6,12}->6個, 13{1,13}->2個,
14{1,2,7,14}->4個, 個数合計は 6+2+4=12個
※ 小問実行時間を1秒程度で。
※ "約数の個数"はwikiに準拠
https://ja.wikipedia.org/wiki/%E7%B4%84%E6%95%B0#%E7%B4%84%E6%95%B0%E3%81%AE%E5%80%8B%E6%95%B0
[お題]
整数A, B (1 <= A < B <= 20億)が与えられる。
A以上, B以下の整数が持つ"約数の個数"を合計する。
1) 12 14 → 12
2) 1 100 → 482
3) 98765432 1234567890 → ?
4) 393939393 1772727272 → ?
5) 1 2000000000 → 43141689413
※ 1)の補足、各整数の約数は 12{1,2,3,4,6,12}->6個, 13{1,13}->2個,
14{1,2,7,14}->4個, 個数合計は 6+2+4=12個
※ 小問実行時間を1秒程度で。
※ "約数の個数"はwikiに準拠
https://ja.wikipedia.org/wiki/%E7%B4%84%E6%95%B0#%E7%B4%84%E6%95%B0%E3%81%AE%E5%80%8B%E6%95%B0
2020/12/14(月) 15:38:14.40ID:JA72696N
お題:
整数 N,M が与えられます
M 個の1でない正整数をそれぞれ任意に選んだとき、
それらを全て掛け合わせて N を作ることが出来るような選び方が存在するか求めて下さい
制約:
2≦N≦10^9
1≦M≦10^9
例:
入力: N = 1576, M = 3
出力: Yes (例えば 2*2*394 = 1576 です)
入力: N = 1576, M = 5
出力: No
入力: N = 5, M = 1
出力: Yes (5 の1つだけを選んでもいい)
整数 N,M が与えられます
M 個の1でない正整数をそれぞれ任意に選んだとき、
それらを全て掛け合わせて N を作ることが出来るような選び方が存在するか求めて下さい
制約:
2≦N≦10^9
1≦M≦10^9
例:
入力: N = 1576, M = 3
出力: Yes (例えば 2*2*394 = 1576 です)
入力: N = 1576, M = 5
出力: No
入力: N = 5, M = 1
出力: Yes (5 の1つだけを選んでもいい)
2020/12/14(月) 16:58:04.24ID:JA72696N
9289
2020/12/14(月) 18:20:01.63ID:y4v5rW/c >>91
前半は想定解と異なるので、何とも言えない。
("*2すればよい"の意味がわからない)
最後の2行は、想定解もその通り。
>>90
by python3 https://paiza.io/projects/RY7_PhZbZz-noBfirgTOHA
前半は想定解と異なるので、何とも言えない。
("*2すればよい"の意味がわからない)
最後の2行は、想定解もその通り。
>>90
by python3 https://paiza.io/projects/RY7_PhZbZz-noBfirgTOHA
2020/12/14(月) 19:27:12.48ID:bqe1tjqc
まあ要するに
Σ[n] ( floor (B/n) - ceiling (A/n) + 1 )
かな
Σ[n] ( floor (B/n) - ceiling (A/n) + 1 )
かな
9491
2020/12/14(月) 19:55:38.37ID:I3Y5P+Cj2020/12/14(月) 20:38:42.92ID:R5T0tffH
>>71,79 bat 組み合わせてmax関数化。変換は>>78さん模倣
:: maxUint32 2つの引数(int32)をunsignedINT32と見做して比較し大きい方をunsignedINT32と同じ数字文字列に変換
@echo off &setlocal enabledelayedexpansion
for /f "delims=:" %%A in ('findstr /en ARGS "%~0"') do set /a N=%%A
for /f "usebackq skip=%N% tokens=1,2* delims=, " %%A in ("%~0") do (
set /a "x=%%A, u=y=%%B, m=0x7fffffff, xor=(x^y)&~m, xx=x&m, yy=y&m, msby=y>>31&1"
set z=%%C
if !xor! EQU 0 (if !xx! GTR !yy! set /a u=x ) else if !msby! EQU 0 set /a u=x
set /a "L=u&1, u=u>>1&m, h=u/5, L+=u%%5<<1"
if !h! EQU 0 set h=
if "!h!!L!"=="!z!" (set "z=OK") else set z=NG
echo !h!!L! : !z!
)
pause &exit /b
:: ARGS
0, 0, 0
0, 1, 1
1, 0, 1
1, 1, 1
123, 456, 456
456, 123, 456
0, -1, 4294967295
-1, 0, 4294967295
0x7fffffff, 0x80000000, 2147483648
-1294967296, 0x80000000, 3000000000
-294967296, -2147483647, 4000000000
:: maxUint32 2つの引数(int32)をunsignedINT32と見做して比較し大きい方をunsignedINT32と同じ数字文字列に変換
@echo off &setlocal enabledelayedexpansion
for /f "delims=:" %%A in ('findstr /en ARGS "%~0"') do set /a N=%%A
for /f "usebackq skip=%N% tokens=1,2* delims=, " %%A in ("%~0") do (
set /a "x=%%A, u=y=%%B, m=0x7fffffff, xor=(x^y)&~m, xx=x&m, yy=y&m, msby=y>>31&1"
set z=%%C
if !xor! EQU 0 (if !xx! GTR !yy! set /a u=x ) else if !msby! EQU 0 set /a u=x
set /a "L=u&1, u=u>>1&m, h=u/5, L+=u%%5<<1"
if !h! EQU 0 set h=
if "!h!!L!"=="!z!" (set "z=OK") else set z=NG
echo !h!!L! : !z!
)
pause &exit /b
:: ARGS
0, 0, 0
0, 1, 1
1, 0, 1
1, 1, 1
123, 456, 456
456, 123, 456
0, -1, 4294967295
-1, 0, 4294967295
0x7fffffff, 0x80000000, 2147483648
-1294967296, 0x80000000, 3000000000
-294967296, -2147483647, 4000000000
2020/12/14(月) 22:49:37.32ID:IVz7Drzo
>>89
haskell
div' x y = -1 - ( div ( -x ) y )
f a b = ( g b ) - ( h a )
g a = let
c = truncate $ sqrt $ fromInteger a
v = sum [ ( div a x ) | x <- [1..c] ]
in 2*v - c^2
h b = let
c = truncate $ sqrt $ fromInteger b
d = if c^2 == b then 1 else 0
v = sum [ ( div' b x ) | x <- [1..c] ]
in 2*v - c^2 + d
main = do
print $ f 12 14
print $ f 1 100
print $ f 98765432 1234567890
----
12
482
24201731790
haskell
div' x y = -1 - ( div ( -x ) y )
f a b = ( g b ) - ( h a )
g a = let
c = truncate $ sqrt $ fromInteger a
v = sum [ ( div a x ) | x <- [1..c] ]
in 2*v - c^2
h b = let
c = truncate $ sqrt $ fromInteger b
d = if c^2 == b then 1 else 0
v = sum [ ( div' b x ) | x <- [1..c] ]
in 2*v - c^2 + d
main = do
print $ f 12 14
print $ f 1 100
print $ f 98765432 1234567890
----
12
482
24201731790
2020/12/15(火) 00:08:49.86ID:SWKOmgAZ
>>90
haskell
import Data.List
pdcmp n = let
mainLoop d m = case () of
_ | d^2 > m -> [ m ]
_ | mod m d /= 0 -> mainLoop ( d + 1 ) m
otherwise -> d : ( mainLoop d $ div m d )
in if n > 1 then mainLoop 2 n else [ ]
sumMult = sum . map length . group . pdcmp
isOk m n = m <= ( sumMult n)
main = do
print $ isOk 3 1576
print $ isOk 5 1576
print $ isOk 1 5
print $ isOk 15 735134400
print $ isOk 29 536870912
print $ isOk 2 1000000007
----
True
False
True
True
True
False
haskell
import Data.List
pdcmp n = let
mainLoop d m = case () of
_ | d^2 > m -> [ m ]
_ | mod m d /= 0 -> mainLoop ( d + 1 ) m
otherwise -> d : ( mainLoop d $ div m d )
in if n > 1 then mainLoop 2 n else [ ]
sumMult = sum . map length . group . pdcmp
isOk m n = m <= ( sumMult n)
main = do
print $ isOk 3 1576
print $ isOk 5 1576
print $ isOk 1 5
print $ isOk 15 735134400
print $ isOk 29 536870912
print $ isOk 2 1000000007
----
True
False
True
True
True
False
98デフォルトの名無しさん
2020/12/16(水) 11:44:45.67ID:xiQ1h/Hx お題: テキスト内の指定の文字をタグで囲む関数wrapを作成せよ
wrap関数の引数は(text, target_char, tag_left='<', tag_right='>')とする
wrap関数の返り値は文字列とする
wrap関数はtext内の文字を解析し、文字がtarget_charだった場合にその文字をtag_left, tag_rightで囲むものとする
タグで囲んだテキストは返り値として返却する
以下のテストケースが通過するように実装せよ
assert pad('abc', 'a') == '<a>bc'
assert pad('bac', 'a') == 'b<a>c'
assert pad('bca', 'a') == 'bc<a>'
assert pad('aba', 'a') == '<a>b<a>'
assert pad('abcabc', 'a') == '<a>bc<a>bc'
assert pad('aaa', 'a') == '<a><a><a>'
余力があればtarget_charをtarget_strにした関数wrap2も作成せよ
wrap2関数は指定の文字列target_strをタグで囲む関数である
wrap関数の引数は(text, target_char, tag_left='<', tag_right='>')とする
wrap関数の返り値は文字列とする
wrap関数はtext内の文字を解析し、文字がtarget_charだった場合にその文字をtag_left, tag_rightで囲むものとする
タグで囲んだテキストは返り値として返却する
以下のテストケースが通過するように実装せよ
assert pad('abc', 'a') == '<a>bc'
assert pad('bac', 'a') == 'b<a>c'
assert pad('bca', 'a') == 'bc<a>'
assert pad('aba', 'a') == '<a>b<a>'
assert pad('abcabc', 'a') == '<a>bc<a>bc'
assert pad('aaa', 'a') == '<a><a><a>'
余力があればtarget_charをtarget_strにした関数wrap2も作成せよ
wrap2関数は指定の文字列target_strをタグで囲む関数である
2020/12/16(水) 16:59:32.76ID:vjalvrwm
この手のやつだな
https://i.imgur.com/cW7zRfO.jpg
https://i.imgur.com/cW7zRfO.jpg
100デフォルトの名無しさん
2020/12/16(水) 18:16:34.26ID:4lTbtOkg >>98
haskell
(引数の順はhaskell風に変更)
iimport Text.ParserCombinators.Parsec
pad tgt = insBraket "<" ">" tgt
insBraket op cs tgt = id
. ( \( Right x ) -> x )
. parse ( makeP op cs tgt ) ""
makeP op cs tgt = let
mainP = pzero
<|> ( pzero
<|> ( try $ ( ( op ++ ) . ( ++ cs ) ) <$> ( string tgt )
<|> ( count 1 anyChar ) ) <> mainP )
<|> ( string "" )
in mainP
main = do
putStrLn $ pad "a" "aba"
putStrLn $ pad "a" "abcabc"
putStrLn $ pad "a" "aaa"
putStrLn $ insBraket "🎄" "🎅" "Christmas" "Merry Christmas!"
----
<a>b<a>
<a>bc<a>bc
<a><a><a>
Merry 🎄Christmas🎅!
haskell
(引数の順はhaskell風に変更)
iimport Text.ParserCombinators.Parsec
pad tgt = insBraket "<" ">" tgt
insBraket op cs tgt = id
. ( \( Right x ) -> x )
. parse ( makeP op cs tgt ) ""
makeP op cs tgt = let
mainP = pzero
<|> ( pzero
<|> ( try $ ( ( op ++ ) . ( ++ cs ) ) <$> ( string tgt )
<|> ( count 1 anyChar ) ) <> mainP )
<|> ( string "" )
in mainP
main = do
putStrLn $ pad "a" "aba"
putStrLn $ pad "a" "abcabc"
putStrLn $ pad "a" "aaa"
putStrLn $ insBraket "🎄" "🎅" "Christmas" "Merry Christmas!"
----
<a>b<a>
<a>bc<a>bc
<a><a><a>
Merry 🎄Christmas🎅!
101デフォルトの名無しさん
2020/12/16(水) 19:58:22.95ID:DkI2bGpO >>98
この正規表現を関数にするのか?
IFxU2W - Online Perl Interpreter & Debugging Tool - Ideone.com
https://ideone.com/IFxU2W
$c = 'a';
$l="<";
$r=">";
while(<>){
s/$c/$l$c$r/g;
print;
}
この正規表現を関数にするのか?
IFxU2W - Online Perl Interpreter & Debugging Tool - Ideone.com
https://ideone.com/IFxU2W
$c = 'a';
$l="<";
$r=">";
while(<>){
s/$c/$l$c$r/g;
print;
}
102デフォルトの名無しさん
2020/12/17(木) 14:22:39.99ID:bL0AsNrc 🎅ワロタ
103デフォルトの名無しさん
2020/12/18(金) 11:06:13.73ID:lt1DqoeP お題
値のペアが複数入力されます
1列目の値でソートしてユニーク化し、2列目の値を出力してください
1列目の値が同じ時、2列目の値はソート後のインデックスが最も小さいもののみを出力してください
入力
c,e
b,c
c,f
b,d
a,b
c,g
出力
a,b
b,c
c,e
値のペアが複数入力されます
1列目の値でソートしてユニーク化し、2列目の値を出力してください
1列目の値が同じ時、2列目の値はソート後のインデックスが最も小さいもののみを出力してください
入力
c,e
b,c
c,f
b,d
a,b
c,g
出力
a,b
b,c
c,e
104デフォルトの名無しさん
2020/12/18(金) 11:48:54.35ID:2oY35fJZ > 1列目の値が同じ時、2列目の値はソート後のインデックスが最も小さいもの〜
と書かれてるがそのソート方法は
> 1列目の値でソート
としか書かれてない
これでは例えば
c,e
c,f
は出現順なのか、はたまた2列目の値も使って昇/降順にするのかわからない
と書かれてるがそのソート方法は
> 1列目の値でソート
としか書かれてない
これでは例えば
c,e
c,f
は出現順なのか、はたまた2列目の値も使って昇/降順にするのかわからない
105デフォルトの名無しさん
2020/12/18(金) 11:55:17.73ID:f5tAtt/1 >>103
haskell 入力パーサなし
import Data.List
pairs = [
('c','e'),
('b','c'),
('c','f'),
('b','d'),
('a','b'),
('c','g')
]
f = id
. map head
. groupBy (\x y -> ( fst x ) == ( fst y ) )
. sort
main = mapM_ print $ f pairs
haskell 入力パーサなし
import Data.List
pairs = [
('c','e'),
('b','c'),
('c','f'),
('b','d'),
('a','b'),
('c','g')
]
f = id
. map head
. groupBy (\x y -> ( fst x ) == ( fst y ) )
. sort
main = mapM_ print $ f pairs
106デフォルトの名無しさん
2020/12/18(金) 12:09:30.98ID:lt1DqoeP >>104
逆にどっちだと思います?
逆にどっちだと思います?
107デフォルトの名無しさん
2020/12/18(金) 12:52:01.21ID:1RoKReGQ 出現順という言葉が使われていないから、出現順ではない。
2列目もソートすべき
ソートの仕方は書いていないので、文字列でよい
2列目もソートすべき
ソートの仕方は書いていないので、文字列でよい
108デフォルトの名無しさん
2020/12/18(金) 13:31:08.12ID:agZtfXny 勝手に決めるな
109デフォルトの名無しさん
2020/12/18(金) 14:23:00.18ID:A9pQAhpY >>103
C++
入力を競プロぽく改変
https://ideone.com/CUTjOy
#include<iostream>
#include<map>
#include<set>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
int N;
cin >> N;
map<string, set<string>> xs;
for(int i=0; i<N; i++){
string k, v;
cin >> k >> v;
xs[k].insert(v);
}
for_each(xs.begin(), xs.end(), [xs](auto& it){
cout << it.first << "," << *(xs.at(it.first).begin()) << endl;
});
return 0;
}
C++
入力を競プロぽく改変
https://ideone.com/CUTjOy
#include<iostream>
#include<map>
#include<set>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
int N;
cin >> N;
map<string, set<string>> xs;
for(int i=0; i<N; i++){
string k, v;
cin >> k >> v;
xs[k].insert(v);
}
for_each(xs.begin(), xs.end(), [xs](auto& it){
cout << it.first << "," << *(xs.at(it.first).begin()) << endl;
});
return 0;
}
110デフォルトの名無しさん
2020/12/18(金) 16:16:25.17ID:P9OguxeC >>103
# # cat input
c,e
b,c
c,f
b,d
a,b
c,g
# # cat input | sort | perl -F"," -lane 'print unless $LAST eq $F[0]; $LAST = $F[0]'
a,b
b,c
c,e
# # cat input
c,e
b,c
c,f
b,d
a,b
c,g
# # cat input | sort | perl -F"," -lane 'print unless $LAST eq $F[0]; $LAST = $F[0]'
a,b
b,c
c,e
111デフォルトの名無しさん
2020/12/18(金) 18:24:57.63ID:udnU9JLz >>103 bat
@(for %%a in ("c,e" "b,c" "c,f" "b,d" "a,b" "c,g") do @echo %%~a)|(cmd /v:on /s /c "for /f "tokens=1,2 delims=," %%b in ('sort') do @(if not "%%b"=="!s!" set "s=%%b" &echo %%b,%%c)")&pause
@(for %%a in ("c,e" "b,c" "c,f" "b,d" "a,b" "c,g") do @echo %%~a)|(cmd /v:on /s /c "for /f "tokens=1,2 delims=," %%b in ('sort') do @(if not "%%b"=="!s!" set "s=%%b" &echo %%b,%%c)")&pause
112デフォルトの名無しさん
2020/12/18(金) 19:01:11.88ID:Dh0d5aQR お題: ランダムに生成されるバイナリツリーがある
ツリーのルートから見て最も左にあるノードと最も右にあるノードの位置を出力せよ
位置はツリーのルートが原点とする
x座標は原点から左に進むとマイナスになり、右に進むとプラスになる
y座標は原点から下に進むとプラスになるものとする
生成されるツリーは原点から下に向かって伸びていくものとする
生成されるツリーの最大の高さは8とする
出力例は↓のようになる
l = -3, 4
r = 5, 7
ツリーのルートから見て最も左にあるノードと最も右にあるノードの位置を出力せよ
位置はツリーのルートが原点とする
x座標は原点から左に進むとマイナスになり、右に進むとプラスになる
y座標は原点から下に進むとプラスになるものとする
生成されるツリーは原点から下に向かって伸びていくものとする
生成されるツリーの最大の高さは8とする
出力例は↓のようになる
l = -3, 4
r = 5, 7
113デフォルトの名無しさん
2020/12/18(金) 21:17:47.26ID:lt1DqoeP114デフォルトの名無しさん
2020/12/18(金) 22:39:29.15ID:Dh0d5aQR >>113
そういう感じ
そういう感じ
115デフォルトの名無しさん
2020/12/18(金) 22:55:15.81ID:Dh0d5aQR >>113
あとツリーの最大の横幅は原点から左右に8ずつで
あとツリーの最大の横幅は原点から左右に8ずつで
116デフォルトの名無しさん
2020/12/19(土) 09:08:43.96ID:Hvq3yNww >>103 J
a =: /:~ ',' & cutopen @ >cutopen stdin ''
f =: >@{. , ','&,@>@{:
smoutput f"1 a #~ ~: {. "1 a
a =: /:~ ',' & cutopen @ >cutopen stdin ''
f =: >@{. , ','&,@>@{:
smoutput f"1 a #~ ~: {. "1 a
117デフォルトの名無しさん
2020/12/19(土) 09:49:26.96ID:x1EY5aRu Jニキひさびさ
1189
2020/12/19(土) 14:32:22.06ID:gCQF7SSG >>103 Perl5
@a = qw{c,e b,c c,f b,d a,b c,g};
$h{(/(\w)/)[0]} //= $_ for @a;
print "$_\n" for map{$h{$_}} sort keys %h;
実行結果
~ $ perl 19_103.pl
a,b
b,c
c,e
@a = qw{c,e b,c c,f b,d a,b c,g};
$h{(/(\w)/)[0]} //= $_ for @a;
print "$_\n" for map{$h{$_}} sort keys %h;
実行結果
~ $ perl 19_103.pl
a,b
b,c
c,e
119デフォルトの名無しさん
2020/12/19(土) 18:39:10.13ID:gcxM+qzh120デフォルトの名無しさん
2020/12/19(土) 20:00:26.12ID:gcxM+qzh12189
2020/12/20(日) 03:24:48.64ID:zjFPqMXn >>89
https://ideone.com/lQvahn
投稿があった、O(√)以外の方法もあるみたいなので、両方を載せておこう。
他方は、O(N)解法の最後の方の同じ数をまとめて計算するやり方。
O(√)解法より確実に計算量が多い。
https://ideone.com/lQvahn
投稿があった、O(√)以外の方法もあるみたいなので、両方を載せておこう。
他方は、O(N)解法の最後の方の同じ数をまとめて計算するやり方。
O(√)解法より確実に計算量が多い。
122デフォルトの名無しさん
2020/12/20(日) 14:30:37.82ID:ocWFq0h7 >>98
Kotlin 及び Kotlin script
target_char の場合
fun wrap(text: String, target_char: Char, tag_left: Char = '<', tag_right: Char = '>') = text.replace(target_char.toString(), "$tag_left$target_char$tag_right")
target_str の場合
fun wrap(text: String, target_str: String, tag_left: Char = '<', tag_right: Char = '>') = text.replace(target_str, "$tag_left$target_str$tag_right")
要するに Java の String クラスの replace() 使ってるので、肝心な部分は何も考えてない。
tag_left, tag_right はデフォルト値として '<', '>' を指定しているので呼び出す側で指定しなければこれになる。
もう少しだけ Kotlin らしくするとしたら拡張関数にするぐらいかな。
fun String.wrap(target_str: String, tag_left: Char = '<', tag_right: Char = '>') = replace(target_str, "$tag_left$target_str$tag_right")
これで String クラスのメソッドになるので "abcabc".wrap("bc") が "a<bc>a<bc>" を返すようになる。
Kotlin 及び Kotlin script
target_char の場合
fun wrap(text: String, target_char: Char, tag_left: Char = '<', tag_right: Char = '>') = text.replace(target_char.toString(), "$tag_left$target_char$tag_right")
target_str の場合
fun wrap(text: String, target_str: String, tag_left: Char = '<', tag_right: Char = '>') = text.replace(target_str, "$tag_left$target_str$tag_right")
要するに Java の String クラスの replace() 使ってるので、肝心な部分は何も考えてない。
tag_left, tag_right はデフォルト値として '<', '>' を指定しているので呼び出す側で指定しなければこれになる。
もう少しだけ Kotlin らしくするとしたら拡張関数にするぐらいかな。
fun String.wrap(target_str: String, tag_left: Char = '<', tag_right: Char = '>') = replace(target_str, "$tag_left$target_str$tag_right")
これで String クラスのメソッドになるので "abcabc".wrap("bc") が "a<bc>a<bc>" を返すようになる。
123デフォルトの名無しさん
2020/12/20(日) 17:39:53.62ID:ocWFq0h7124デフォルトの名無しさん
2020/12/20(日) 18:33:53.02ID:1LcS4Wc6 >>98 JavaScript
const wrap = (text, target_str, tag_left='<', tag_right='>') => text.replace(RegExp(target_str, 'g'), tag_left + target_str + tag_right);
const wrap = (text, target_str, tag_left='<', tag_right='>') => text.replace(RegExp(target_str, 'g'), tag_left + target_str + tag_right);
125デフォルトの名無しさん
2020/12/21(月) 19:30:10.34ID:Mnipwtco126デフォルトの名無しさん
2020/12/23(水) 21:01:46.74ID:IGuwyxwv [お題] 和が2021の倍数
2021000以下の素数を昇順に並べた数列がある。
[2, 3, 5, ..., 2020979, 2020999] 項目数:150399
この数列より 空でない連続する部分列を P とする。
(全てのPの選び方はNCR(150399+1, 2) = 約113億通りある)
Pの和が2021の倍数となるのは何通りあるか。
[8081,8087] [3361, 3371, 3373] [2011, 2017, 2027, 2029] 等が該当するP
※無駄に素数を乱数代わりに使った、一発正解問題
※実行時間は素数生成を含めて、3秒以内
2021000以下の素数を昇順に並べた数列がある。
[2, 3, 5, ..., 2020979, 2020999] 項目数:150399
この数列より 空でない連続する部分列を P とする。
(全てのPの選び方はNCR(150399+1, 2) = 約113億通りある)
Pの和が2021の倍数となるのは何通りあるか。
[8081,8087] [3361, 3371, 3373] [2011, 2017, 2027, 2029] 等が該当するP
※無駄に素数を乱数代わりに使った、一発正解問題
※実行時間は素数生成を含めて、3秒以内
127デフォルトの名無しさん
2020/12/23(水) 23:02:15.25ID:PQyv7tz0128デフォルトの名無しさん
2020/12/23(水) 23:12:10.85ID:zWDUqRJW129デフォルトの名無しさん
2020/12/26(土) 03:16:19.16ID:4qx7gBot130デフォルトの名無しさん
2020/12/28(月) 03:25:00.14ID:S5vNYbFH131デフォルトの名無しさん
2020/12/29(火) 19:09:26.95ID:v9CXwjD7 >>103
Kotlin script
pair.csv にその入力を入れておいてから実行する。
以下は kotlinc コマンドで REPL にして直接入力して実行した時のコピー
>>> java.io.File("pair.csv").bufferedReader().lineSequence().map { it.split(',') }.sortedBy { it[0] }.fold(mutableListOf<List<String>>()) { a, c -> if (a.size == 0 || a[a.lastIndex][0] != c[0]) a.add(c); a }.forEach { println(it) }
[a, b]
[b, c]
[c, e]
>>>
2列目については考慮していないので sortBy が中でやっているソートのアルゴリズムが変われば変わるかも知れない。
Kotlin script
pair.csv にその入力を入れておいてから実行する。
以下は kotlinc コマンドで REPL にして直接入力して実行した時のコピー
>>> java.io.File("pair.csv").bufferedReader().lineSequence().map { it.split(',') }.sortedBy { it[0] }.fold(mutableListOf<List<String>>()) { a, c -> if (a.size == 0 || a[a.lastIndex][0] != c[0]) a.add(c); a }.forEach { println(it) }
[a, b]
[b, c]
[c, e]
>>>
2列目については考慮していないので sortBy が中でやっているソートのアルゴリズムが変われば変わるかも知れない。
132デフォルトの名無しさん
2020/12/29(火) 19:20:00.18ID:v9CXwjD7 a[a.lastIndex][0] の部分は a.last().first() と書いても同じだった。
この方が a.lastIndex 呼ばない分だけ無駄が少ないかも知れない。
(でもコンパイラが中で適当に最適化して同じになるかも知れないのでどうでも良いかな?)
この方が a.lastIndex 呼ばない分だけ無駄が少ないかも知れない。
(でもコンパイラが中で適当に最適化して同じになるかも知れないのでどうでも良いかな?)
133蟻人間 ◆T6xkBnTXz7B0
2020/12/29(火) 19:38:06.80ID:akpvTOL3 お題: 半径dの円にぴったり内接する正n角形を描画せよ。
134デフォルトの名無しさん
2020/12/29(火) 20:28:59.04ID:0LWFOCUq ぴったり内接とは?
ぴったりじゃない内接を教えてください
ぴったりじゃない内接を教えてください
135デフォルトの名無しさん
2020/12/29(火) 20:34:46.26ID:bi9fPEgs ぴったり内接ってなんだよって言おうとしたらすでに言われててくっそワロタ
136デフォルトの名無しさん
2020/12/29(火) 20:53:58.41ID:2gsaGKLd 量子化誤差を最小化した演算を求めているのでは?
我々は実数を扱えないので。
我々は実数を扱えないので。
137デフォルトの名無しさん
2020/12/29(火) 21:00:08.04ID:2gsaGKLd n角形をなす線分が円の外側に飛び出さないよう注意を与えているのかもしれない。
実数を扱えない以上、注意する必要が有る。
ということを示唆するのかも。
実数を扱えない以上、注意する必要が有る。
ということを示唆するのかも。
138デフォルトの名無しさん
2020/12/29(火) 21:24:43.03ID:0mXsQANw >>133
processing
void setup(){
size(400, 400);
float d=200;
float r=d/2;
int n=7;
PVector c = new PVector(width/2, height/2);
ArrayList<PVector> p = new ArrayList<PVector>();
for(int i=0; i<n+1; i++){
float theta = (TWO_PI*i)/n;
PVector t = new PVector(r*cos(theta),r*sin(theta));
t.add(c);
p.add(new PVector(t.x, t.y));
}
ellipse(c.x, c.y, d, d);
for(int i=0, j=1; i<n+1; i++, j++, j%=n){
line(p.get(i).x, p.get(i).y, p.get(j).x, p.get(j).y);
}
}
processing
void setup(){
size(400, 400);
float d=200;
float r=d/2;
int n=7;
PVector c = new PVector(width/2, height/2);
ArrayList<PVector> p = new ArrayList<PVector>();
for(int i=0; i<n+1; i++){
float theta = (TWO_PI*i)/n;
PVector t = new PVector(r*cos(theta),r*sin(theta));
t.add(c);
p.add(new PVector(t.x, t.y));
}
ellipse(c.x, c.y, d, d);
for(int i=0, j=1; i<n+1; i++, j++, j%=n){
line(p.get(i).x, p.get(i).y, p.get(j).x, p.get(j).y);
}
}
139デフォルトの名無しさん
2020/12/29(火) 21:27:39.14ID:0mXsQANw140デフォルトの名無しさん
2020/12/30(水) 13:44:24.04ID:tmlECeYE [お題] MarkdownのParagraph/BlockQuoteをパースしHTMLを生成してください
入出力例(1)
paragraph
> block quoted paragraph
↑入力 / ↓出力
<p>paragraph</p>
<blockquote>
<p>block quoted paragraph</p>
</blockquote>
入出力例(2)
> hoge
> > nested piyo1
> > nested piyo2
> fuga
↑入力 / ↓出力
<blockquote>
<p>hoge</p>
<blockquote>
<p>nested piyo1</p>
<p>nested piyo2</p>
</blockquote>
<p>fuga</p>
</blockquote>
入出力例(1)
paragraph
> block quoted paragraph
↑入力 / ↓出力
<p>paragraph</p>
<blockquote>
<p>block quoted paragraph</p>
</blockquote>
入出力例(2)
> hoge
> > nested piyo1
> > nested piyo2
> fuga
↑入力 / ↓出力
<blockquote>
<p>hoge</p>
<blockquote>
<p>nested piyo1</p>
<p>nested piyo2</p>
</blockquote>
<p>fuga</p>
</blockquote>
141デフォルトの名無しさん
2020/12/30(水) 17:24:14.94ID:yfdsF4Me quote に入れるのは"> "の繰り返しのみで桶?
142デフォルトの名無しさん
2020/12/30(水) 20:26:27.99ID:nFum3l+K143デフォルトの名無しさん
2020/12/30(水) 21:20:22.80ID:YQYWYr/5 お題
文字列を数値文字参照に変換してください
入力: 𝚙𝚛𝚘𝚐𝚛𝚊𝚖𝚖𝚒𝚗𝚐 𝚌𝚑𝚊𝚕𝚕𝚎𝚗𝚐𝚎𝚜
出力: 𝚙𝚛𝚘𝚐𝚛𝚊𝚖𝚖𝚒𝚗𝚐 𝚌𝚑𝚊𝚕𝚕𝚎𝚗𝚐𝚎𝚜
文字列を数値文字参照に変換してください
入力: 𝚙𝚛𝚘𝚐𝚛𝚊𝚖𝚖𝚒𝚗𝚐 𝚌𝚑𝚊𝚕𝚕𝚎𝚗𝚐𝚎𝚜
出力: 𝚙𝚛𝚘𝚐𝚛𝚊𝚖𝚖𝚒𝚗𝚐 𝚌𝚑𝚊𝚕𝚕𝚎𝚗𝚐𝚎𝚜
144デフォルトの名無しさん
2020/12/30(水) 21:32:08.73ID:EIqnK2Zk 呪いか?
145デフォルトの名無しさん
2020/12/30(水) 21:48:07.53ID:YQYWYr/5146デフォルトの名無しさん
2020/12/30(水) 21:49:19.71ID:p/cFtMuj147デフォルトの名無しさん
2020/12/30(水) 21:58:00.23ID:p/cFtMuj148デフォルトの名無しさん
2020/12/30(水) 22:36:28.16ID:p/cFtMuj >>146は不正なUnicode文字列の入力を考慮していませんでした
高位サロゲートが低位サロゲートを伴わず単独で現れていると、その直後の文字が抜け落ちます
つまり
"<\ud83c>" → "<�>" ではなく
"<\ud83c>" → "<�" になってしまう
修正版: https://ideone.com/bz8cMe
高位サロゲートが低位サロゲートを伴わず単独で現れていると、その直後の文字が抜け落ちます
つまり
"<\ud83c>" → "<�>" ではなく
"<\ud83c>" → "<�" になってしまう
修正版: https://ideone.com/bz8cMe
149デフォルトの名無しさん
2020/12/31(木) 01:13:45.28ID:pjMyqahK すごいどうでもいいことなんだけど、
ArrayListってどういうデータ構造なの?
ArrayなのそれともListなの?
おじさんわからないよ。。
ArrayListってどういうデータ構造なの?
ArrayなのそれともListなの?
おじさんわからないよ。。
150デフォルトの名無しさん
2020/12/31(木) 12:16:39.07ID:RvVxXqDc >>149
お題
array listを実装してください
次の要項を満たしてください
・add, removeができること
・サイズが可変であること
・序数で要素にアクセスできること
・要素へのアクセスの計算量はO(1)もしくはO(log n)であること
お題
array listを実装してください
次の要項を満たしてください
・add, removeができること
・サイズが可変であること
・序数で要素にアクセスできること
・要素へのアクセスの計算量はO(1)もしくはO(log n)であること
151デフォルトの名無しさん
2020/12/31(木) 15:29:53.91ID:wqjSMEXG >>150
add, remove は任意箇所の挿入と一要素削除で桶?
add, remove は任意箇所の挿入と一要素削除で桶?
152デフォルトの名無しさん
2020/12/31(木) 19:05:54.91ID:aMBMdmtQ153デフォルトの名無しさん
2020/12/31(木) 21:07:25.40ID:pjMyqahK >>150
それがArrayListの要件? ありがとう
それがArrayListの要件? ありがとう
154デフォルトの名無しさん
2020/12/31(木) 21:26:18.83ID:RvVxXqDc >>153
実装して
実装して
155デフォルトの名無しさん
2021/01/01(金) 13:09:20.23ID:8TPOGttB156デフォルトの名無しさん
2021/01/01(金) 13:38:10.37ID:8TPOGttB157デフォルトの名無しさん
2021/01/01(金) 14:38:54.78ID:8TPOGttB158デフォルトの名無しさん
2021/01/02(土) 03:34:41.82ID:1MFl5wrQ159デフォルトの名無しさん
2021/01/02(土) 15:11:50.57ID:gpIsEKdn >>150
この問題の要件は
>・要素へのアクセスの計算量はO(1)もしくはO(log n)であること
だけでいいのかな?
コレだけでいいならデータの更新時に常に深さが±1の二分木に納直せば必ず参照の計算量はO(log(n))になるし、毎回ソートして格納し直せば参照の(indexによる)計算量はO(1)になる希ガス
データの更新時の制限は全くないでいいのかな?
この問題の要件は
>・要素へのアクセスの計算量はO(1)もしくはO(log n)であること
だけでいいのかな?
コレだけでいいならデータの更新時に常に深さが±1の二分木に納直せば必ず参照の計算量はO(log(n))になるし、毎回ソートして格納し直せば参照の(indexによる)計算量はO(1)になる希ガス
データの更新時の制限は全くないでいいのかな?
160デフォルトの名無しさん
2021/01/02(土) 21:54:03.91ID:YfZD//vW メモリが安くなったとはいえ
やはりメモリの制限は必要では?
無尽蔵にあるわけではないので
やはりメモリの制限は必要では?
無尽蔵にあるわけではないので
161蟻人間 ◆T6xkBnTXz7B0
2021/01/04(月) 22:40:39.15ID:RRkyDjZk お題: 四方に広がる無限のサイズの方眼紙があって、1マス1マスに一個のアラビア数字を一度だけ記入できる。
方眼紙に記録したデータの一部は「仮想画面」に出力できる。
マス(x, y)に数字dを記入することを「P(x, y, d)」と表すことにする(x, yは任意の整数)。
(a) 3桁の自然数が2つ与えられる。その足し算の筆算を実演するアルゴリズムを出力するプログラムを書け。
(b) 任意の自然数が2つ与えられる。(以下略)
方眼紙に記録したデータの一部は「仮想画面」に出力できる。
マス(x, y)に数字dを記入することを「P(x, y, d)」と表すことにする(x, yは任意の整数)。
(a) 3桁の自然数が2つ与えられる。その足し算の筆算を実演するアルゴリズムを出力するプログラムを書け。
(b) 任意の自然数が2つ与えられる。(以下略)
162蟻人間 ◆T6xkBnTXz7B0
2021/01/04(月) 22:51:58.92ID:RRkyDjZk 補記。
マス(x, y)にある数字を「P(x, y)」と表すことにする。マス(x, y)に数字がなければP(x, y)==0とする。
また、マス(x, y)に数字がなければE(x, y)==1とし、数字があればE(x, y)==0とする。
マス(x, y)にある数字を「P(x, y)」と表すことにする。マス(x, y)に数字がなければP(x, y)==0とする。
また、マス(x, y)に数字がなければE(x, y)==1とし、数字があればE(x, y)==0とする。
163デフォルトの名無しさん
2021/01/05(火) 22:28:39.68ID:JVpboZJX お題: ランダムな数列を生成せよ
数列の長さは4 <= len <= 20とし、これもランダムとする
数列の長さは4 <= len <= 20とし、これもランダムとする
164デフォルトの名無しさん
2021/01/05(火) 22:36:13.47ID:3bhht3A2165デフォルトの名無しさん
2021/01/06(水) 10:45:40.05ID:0+tWp1dI >>163 js
const rand = (a, b) => Math.floor(Math.random() * (b - a + 1)) + a
const range = (n) => [...Array(n).keys()]
range(rand(4, 20)).map(Math.random)
const rand = (a, b) => Math.floor(Math.random() * (b - a + 1)) + a
const range = (n) => [...Array(n).keys()]
range(rand(4, 20)).map(Math.random)
166デフォルトの名無しさん
2021/01/06(水) 10:46:52.82ID:0+tWp1dI ruby 3 はどのくらい変わったの
167デフォルトの名無しさん
2021/01/06(水) 14:12:34.77ID:0ypUbOKE >>163
Kotlin または Kotlin script
以下は kotlinc コマンドで REPL で実行した時のコピー。
(先頭の >>> はプロンプト)
>>> (1..(4..20).random()).map { kotlin.random.Random.nextInt() }
res0: kotlin.collections.List<kotlin.Int> = [1712097059, 2034192723, -1232228362, 634194098, 1788814029, -1878195330, -2043751487, 933285281, 1116738696, -934057871, -1657983454, -1761832713, -1836302098, -902578867, -1306790359, 1824207694, 386095401, -389307033, 380242891, -2028767653]
>>>
実行結果は何処にも出力しようとしてしていないが REPL なので自動で出力されている。
Kotlin または Kotlin script
以下は kotlinc コマンドで REPL で実行した時のコピー。
(先頭の >>> はプロンプト)
>>> (1..(4..20).random()).map { kotlin.random.Random.nextInt() }
res0: kotlin.collections.List<kotlin.Int> = [1712097059, 2034192723, -1232228362, 634194098, 1788814029, -1878195330, -2043751487, 933285281, 1116738696, -934057871, -1657983454, -1761832713, -1836302098, -902578867, -1306790359, 1824207694, 386095401, -389307033, 380242891, -2028767653]
>>>
実行結果は何処にも出力しようとしてしていないが REPL なので自動で出力されている。
168デフォルトの名無しさん
2021/01/06(水) 19:38:44.63ID:ySlgJWsk >>163 Ruby
# こんな意味だと解釈した
puts ( '%020b' % rand(1<<20) )[ 0, 4+rand(17) ] # ( 2進) '0000'-'00000000000000000000'..'1111'-'11111111111111111111'
puts ( '%020d' % rand(1e20) )[ 0, 4+rand(17) ] # (10進) '0000'-'00000000000000000000'..'9999'-'99999999999999999999'
# こんな意味だと解釈した
puts ( '%020b' % rand(1<<20) )[ 0, 4+rand(17) ] # ( 2進) '0000'-'00000000000000000000'..'1111'-'11111111111111111111'
puts ( '%020d' % rand(1e20) )[ 0, 4+rand(17) ] # (10進) '0000'-'00000000000000000000'..'9999'-'99999999999999999999'
169デフォルトの名無しさん
2021/01/06(水) 23:58:46.35ID:N14y+/j1 お題
アルファベットの開始の文字、アルファベットの終了の文字を
入力としてうけとり下記のように文字列を出力してください
入力: a,k
出力:
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
アルファベットの開始の文字、アルファベットの終了の文字を
入力としてうけとり下記のように文字列を出力してください
入力: a,k
出力:
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
170デフォルトの名無しさん
2021/01/07(木) 00:11:25.06ID:bv7Qweso 意味不明な途中省く
sh & perl5
echo "a,k" | perl -lane 'm/(\w),(\w)/; print ($1..$2)'
abcdefghijk
sh & perl5
echo "a,k" | perl -lane 'm/(\w),(\w)/; print ($1..$2)'
abcdefghijk
171デフォルトの名無しさん
2021/01/07(木) 00:20:29.22ID:iqGL0Mlk 省いちゃダメなの!
172デフォルトの名無しさん
2021/01/07(木) 00:29:54.66ID:Vd9hikpg >>169
Haskell
import Data.List
consecutiveAlph a z = tail $ inits $ [ a .. z ]
main = mapM_ putStrLn $ consecutiveAlph 'a' 'k'
----
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
Haskell
import Data.List
consecutiveAlph a z = tail $ inits $ [ a .. z ]
main = mapM_ putStrLn $ consecutiveAlph 'a' 'k'
----
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
173(u_・y)
2021/01/07(木) 00:56:12.00ID:oTn3YI8v174デフォルトの名無しさん
2021/01/07(木) 02:01:24.63ID:GGtjVNVk >>169 Common Lisp
https://ideone.com/yWJWQf
参考:
CLHS: Section 13.1.6 Ordering of Characters
http://www.lispworks.com/documentation/HyperSpec/Body/13_af.htm
https://ideone.com/yWJWQf
参考:
CLHS: Section 13.1.6 Ordering of Characters
http://www.lispworks.com/documentation/HyperSpec/Body/13_af.htm
1759
2021/01/07(木) 02:13:26.61ID:t9BUPUyy >>169 Perl5
@a = split',', <>;
print($a[0]..$_, "\n") for $a[0]..$a[1];
実行結果
~ $ echo 'a,k' | perl 19_169_a,k.pl
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
@a = split',', <>;
print($a[0]..$_, "\n") for $a[0]..$a[1];
実行結果
~ $ echo 'a,k' | perl 19_169_a,k.pl
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
1769
2021/01/07(木) 02:17:47.93ID:t9BUPUyy つか、これでよかったわ
@a = eval <>;
print($a[0]..$_, "\n") for $a[0]..$a[1];
@a = eval <>;
print($a[0]..$_, "\n") for $a[0]..$a[1];
177デフォルトの名無しさん
2021/01/07(木) 11:50:26.21ID:oTn3YI8v お題
オセロのようなルールでひっくり返しを行う処理を実装せよ
変数のイメージ
0 = 置かれてない場所
1 = 黒
2 = 白
3 = 今のターンで置いた黒
入力:01202113112120
出力:01202222222120
オセロのようなルールでひっくり返しを行う処理を実装せよ
変数のイメージ
0 = 置かれてない場所
1 = 黒
2 = 白
3 = 今のターンで置いた黒
入力:01202113112120
出力:01202222222120
178デフォルトの名無しさん
2021/01/07(木) 11:52:33.15ID:oTn3YI8v ちょい訂正
3 = 今のターンで置いた白だった
3 = 今のターンで置いた白だった
179デフォルトの名無しさん
2021/01/07(木) 12:05:34.54ID:TYHzopEy180デフォルトの名無しさん
2021/01/07(木) 12:06:14.88ID:TYHzopEy あ、1=3=黒なのね
失礼しました
失礼しました
181デフォルトの名無しさん
2021/01/07(木) 12:32:35.52ID:TYHzopEy >>177
haskell
twosTurn x = let
( pre, ( '3' : post ) ) = span (/='3') x
revOne y = let
( pre02 , post02 ) = span ( == '1' ) $ y ++ "0"
twos = zipWith const ( repeat '2' ) pre02
in if ( head post02) == '0'
then y
else take ( length y ) ( twos ++ post02 )
revOne' = reverse . revOne . reverse
in ( revOne' pre ) ++ "2" ++ ( revOne post )
sample = "01202113112120"
main = print $ twosTurn sample
haskell
twosTurn x = let
( pre, ( '3' : post ) ) = span (/='3') x
revOne y = let
( pre02 , post02 ) = span ( == '1' ) $ y ++ "0"
twos = zipWith const ( repeat '2' ) pre02
in if ( head post02) == '0'
then y
else take ( length y ) ( twos ++ post02 )
revOne' = reverse . revOne . reverse
in ( revOne' pre ) ++ "2" ++ ( revOne post )
sample = "01202113112120"
main = print $ twosTurn sample
182デフォルトの名無しさん
2021/01/07(木) 12:50:45.25ID:sEmeEMut >>177 Ruby
board = '01202113112120'
puts board
puts board.sub( /2(1*)3(1*)2/ ){ "2#{'2'* ($1.size)}2#{'2' * $2.size}2" }
board = '01202113112120'
puts board
puts board.sub( /2(1*)3(1*)2/ ){ "2#{'2'* ($1.size)}2#{'2' * $2.size}2" }
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】習主席とトランプ大統領が電話会談 台湾問題について [ニョキニョキ★]
- 【速報】習主席とトランプ大統領が電話会談 台湾問題について★2 [ニョキニョキ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★2 [ぐれ★]
- 人生初黒星の神童、那須川天心がリング上で土下座 [牛丼★]
- 石破前総理「どうすれば台湾有事にならないかを考えるべき」★2 [1ゲットロボ★]
- 中国人「『日本は危ないから行かないように』と言われたが、日本に来たらとても安全だった」 [お断り★]
- 【号外】習近平、米大統領のトランプと首脳会談を行う!日本のの武力による台湾脅しついて共有の追及をする意思統一でおこなう [339712612]
- "象牙質"ってなんで象が基準なんや?
- 【高市悲報】トランプおやびん「偉大な指導者である習近平首席、米国は中国にとっての台湾問題の重要性を理解しています」 [115996789]
- 高市外交、見てるだけでこっちがキツくなる… ハグ、スキンシップ、擦り寄り、顔と顔を寄せ合い慰めあったら、それぞれ [452836546]
- 楽な死に方教えて
- 地面師ってほぼ犯罪やん?
