偶然发现了这么一个东西。 下面涉及剧透。 エンジニアも恋したい
卧槽还能这样玩?总之在通过漫画的形式进行的剧情中会穿插一些编程的问题,通过解决这些问题,提交代码会触发不同剧情。 如果能通过所有测试,那么最终可以看到 Good Ending。相反如果测试中出现一些问题,就无法到达最完美结局。
故事开头男主转职第一天遇到巧遇女主。
总之第一天,你想要在妹子面前装装 B。这个时候你接到了要完成的任务。计算商品的库存量。
输入格式
输入格式将作为标准输入提供。
N
S_1
S_2
・
・
S_N
条件
所有的测试用例满足下面条件。
1 ≦ N ≦ 100
0 ≦ S_i ≦ 100
要求输入所有商品数量的总和。
嘛这个问题很简单。用 ruby 就更简单了。
lines=gets.chomp.to_i
result=0
lines.times do
result+=gets.chomp.to_i
end
puts result
ok,三个测试全部通过。继续 misson2。
……卧槽你是来卖萌的么?
计算需要补充商品的总价格。
输入格式
N
T_1 S_1 P_1
T_2 S_2 P_2
・
・
・
T_N S_N P_N
满足条件
1 ≦ N ≦ 100
1 ≦ T_i ≦ 100
0 ≦ S_i ≦ 100
1 ≦ P_i ≦ 10,000
输入的第一行 N 为商品数量。接下来,每行第一个 T 为需求量,第二个 S 为库存量,第三个 P 为单价。 即当 T>=S 的时候我们需要花费 (T-S)*P 来补充某一个商品。
特么这个自然也很简单。
input_lines = gets.chomp.to_i
sum=0
input_lines.times do
tsp=gets.chomp.split(' ').map{|i| i.to_i}
sum+=(tsp[0]-tsp[1])*tsp[2] if tsp[0]>tsp[1]
end
puts sum
嗯继续看漫画。卧槽这进展略快?已经约了?
反正就是要做个游戏,具体说明游戏特么太长了。简而言之就是 这种
给定一串数字 (比如途中的 4,5,1,10,3,4,1) 和一个窗口 (比如 3),要求找出这串数字中连续窗口大小的最大和。比如图中 (10+3+4=17 最大)
输入格式
t n
m_1
m_2
m_3
...
m_n
条件
1 ≦ t ≦ n ≦ 300,000
0 ≦ m_i ≦ 10,000
lw= gets.chomp.split(' ').map{|i| i.to_i}
arr=[]
lw[1].times do
arr << gets.chomp.to_i
end
max=0
for i in 0..arr.size-lw[0]
tmp=eval(arr[i..i+lw[0]-1].join("+"))
max=tmp if tmp>max
end
puts max
卧槽怎么回事。超时了,嘛看来还得考虑一下效率的问题。总之看一下这个时候的结局会是如何。
特么新婚旅行箱根温泉?我不能接受。女主这大妈的样子。卧槽。重来。
首先刚才的代码有两个地方效率很低。其一使用了 eval。其二是其实进行了不必要的计算。
比如计算 4,3,5,2 当窗口大小为 3 的时候的最大值。当我们计算完 4+3+5,想要计算 3+5+2 的时候,其实只需要把刚才的计算的值减去 4 并加上 2。否则当窗口很大的时候,加法计算就会很浪费时间。
lw = gets.chomp.split(' ').map{|i| i.to_i}
arr=[]
tmp=0
lw[0].times do
element=gets.chomp.to_i
arr << element
tmp+=element
end
(lw[1]-lw[0]).times do
arr << gets.chomp.to_i
end
max=tmp
arr[lw[0]..-1].each_with_index do |element,index|
tmp=tmp-arr[index]+element
max=tmp if tmp >max
end
puts max
终于……
恩满分的结果是最后新婚旅行地变成夏威夷……
年轻人就应该好好撸管特么做什么白日梦。世界上哪有这么简单把妹的方法。无耻期待续作。