Skip to content

Instantly share code, notes, and snippets.

@parrot-studio
Last active December 9, 2016 06:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parrot-studio/18785e65b3f116f47f0618a35662cbb6 to your computer and use it in GitHub Desktop.
Save parrot-studio/18785e65b3f116f47f0618a35662cbb6 to your computer and use it in GitHub Desktop.
https://paiza.jp/moshijo
// 御影百合絵からのお願い
process.stdin.on('data', function (chunk) {
var line = chunk.toString().trim();
var ss = line.split("\n");
var ans = 0;
var i;
for(i=0;i<ss.length;i++) {
ans = ans + parseInt(ss[i]);
}
console.log(ans);
});
// 春日みちるからのSOS
process.stdin.on('data', function (chunk) {
var line = chunk.toString().trim();
var re = /help/;
if (re.test(line)) {
console.log('SOS');
} else {
console.log(line);
}
});
// 園田冴絵からの応援要請
process.stdin.on('data', function (chunk) {
var line = chunk.toString().trim();
var ds = line.split(' ');
if (ds[2] === '+'){
console.log(parseInt(ds[0]) + parseInt(ds[1]));
} else {
console.log(parseInt(ds[0]) - parseInt(ds[1]));
}
});
// 芦屋川雛乃からのヘルプ依頼
process.stdin.on('data', function (chunk) {
var line = chunk.toString().trim();
var ls = line.split("\n");
var seq = ls[0].split(' ');
var ss = ls[2].split('');
var ans = '';
var i, rev;
if (ls[1] === 'encode') {
for(i=0; i<ss.length; i++){
ans = ans + seq[parseInt(ss[i])];
}
} else {
rev = [];
for(i=0; i<seq.length; i++){
rev[parseInt(seq[i])] = i.toString();
}
for(i=0; i<ss.length; i++){
ans = ans + rev[parseInt(ss[i])];
}
}
console.log(ans);
});
// 桂乃梨子とピンチを乗り越えろ
process.stdin.on('data', function (chunk) {
var line = chunk.toString().trim();
var ls = line.split("\n");
var len = parseInt(ls[0]);
var xs = ls[1].split(' ');
var ys = ls[2].split(' ');
var i, j, y, ans;
for(j=0; j<len; j++){
y = parseInt(ys[j]);
ans = [];
for(i=0; i<len; i++){
ans.push(y + parseInt(xs[i]));
}
console.log(ans.join(' '));
}
});
// 水無瀬朋の一大事
process.stdin.on('data', function (chunk) {
var line = chunk.toString().trim();
var ls = line.split("\n");
 var len = parseInt(ls.shift());
var prices = [0];
var csizes = [0];
var reduces = [0];
var i, d, ans, ind, n;
for(i=0; i<len; i++){
d = ls.shift().split(' ');
prices.push(parseInt(d[0]));
csizes.push(parseInt(d[1]));
reduces.push(parseInt(d[2]));
}
len = parseInt(ls.shift());
for(i=0; i<len; i++){
d = ls.shift().split(' ');
ind = parseInt(d[0]);
n = parseInt(d[1]);
ans = n * prices[ind] - ((Math.floor(n / csizes[ind])) * reduces[ind]);
console.log(ans);
}
});
// 六村リオの緊急事態
process.stdin.on('data', function (chunk) {
var org = chunk.toString().trim().split(' ');
var bs = org[0].split('/');
bs.shift();
var ps = org[1].split('/');
var i;
for(i=0; i<ps.length; i++){
if (ps[i] === '..') {
bs.pop();
} else if (ps[i] === '.') {
} else {
bs.push(ps[i]);
}
}
console.log('/' + bs.join('/'));
});
// 緑川つばめを窮地から救え
process.stdin.on('data', function (chunk) {
var nums = chunk.toString().trim().split('');
var ans = [];
var stack = [];
var exec = false;
var n, b, i;
while(true) {
if (nums.length <= 0) {
break;
}
n = parseInt(nums.shift());
if (exec) {
ans.push(0);
continue;
}
if (n >= 5){
b = (ans.pop() || 0)+ 1;
ans.push(b);
for(i=0; i<stack.length; i++){
ans.push(0);
}
ans.push(0);
exec = true;
} else if (n == 4) {
stack.push(n);
} else {
for(i=0; i<stack.length; i++){
ans.push(stack[i]);
}
stack = [];
ans.push(n);
}
}
var as = "";
for(i=0; i<ans.length; i++){
as = as + ans[i].toString();
}
console.log(as);
});
# 御影百合絵からのお願い
puts(gets.to_i + gets.to_i + gets.to_i)
# 春日みちるからのSOS
s = gets
puts (s.match(/help/) ? 'SOS' : s)
# 園田冴絵からの応援要請
a, b, op = gets.split(' ')
case op
when '+'
puts a.to_i + b.to_i
when '-'
puts a.to_i - b.to_i
end
# 芦屋川雛乃からのヘルプ依頼
seq = gets.split(' ').map(&:to_i)
order = gets.chomp
org = gets.chomp.chars.map(&:to_i)
if order == 'encode'
puts org.map{|n| seq[n].to_s}.join('')
else
rev = []
seq.each.with_index{|n, i| rev[n] = i}
puts org.map{|n| rev[n].to_s}.join('')
end
# 桂乃梨子とピンチを乗り越えろ
size = gets.to_i
xs = gets.chomp.split(' ').map(&:to_i)
ys = gets.chomp.split(' ').map(&:to_i)
ys.each do |y|
puts xs.map{|n| n + y}.map(&:to_s).join(' ')
end
# 水無瀬朋の一大事
sn = gets.to_i
prices = [0]
csizes = [0]
reduces = [0]
sn.times do
data = gets.chomp.split(' ').map(&:to_i)
prices << data.shift
csizes << data.shift
reduces << data.shift
end
an = gets.to_i
an.times do
i, num = gets.chomp.split(' ').map(&:to_i)
puts num * prices[i] - ((num / csizes[i]) * reduces[i])
end
# 六村リオの緊急事態
base, path = gets.chomp.split(' ')
bs = base.split('/')
bs.shift
ps = path.split('/')
ps.each do |pa|
case pa
when '.'
when '..'
bs.pop
else
bs << pa
end
end
puts "/#{bs.join('/')}"
# 緑川つばめを窮地から救え
nums = gets.chomp.chars.map(&:to_i)
ans = []
stack = []
exec = false
loop do
break if nums.empty?
n = nums.shift
if exec
ans << 0
next
end
if n >= 5
b = ans.pop.to_i + 1
ans << b
stack.size.times{ ans << 0 }
ans << 0
exec = true
elsif n == 4
stack << n
else
ans += stack
stack = []
ans << n
end
end
puts ans.map(&:to_s).join('').to_i
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment