提出 #2124436
ソースコード 拡げる
import std.stdio;
import std.algorithm;
import std.range;
import std.array;
import std.string;
import std.conv;
void main(){
int[] nums = readln.chomp.map!((c) => [c].to!int).array;
OP[][] opss = [[OP.PLUS,OP.PLUS,OP.PLUS], [OP.PLUS,OP.PLUS,OP.MINUS],[OP.PLUS,OP.MINUS,OP.PLUS],[OP.PLUS,OP.MINUS,OP.MINUS],[OP.MINUS,OP.MINUS,OP.MINUS],
[OP.MINUS,OP.MINUS,OP.PLUS],[OP.MINUS,OP.PLUS,OP.PLUS],[OP.MINUS,OP.PLUS,OP.MINUS]];
auto answers = opss.map!((ops) => calc(ops, nums)).array;
int idx;
foreach(int i, ans; answers){
if(ans == 7){
idx = i;
}
}
auto answer_str = "";
foreach(ix, OP op; opss[idx]){
answer_str ~= nums[ix].to!string;
switch(op){
case OP.PLUS:{
answer_str ~= "+";
break;
}
case OP.MINUS:{
answer_str ~= "-";
break;
}
default:assert(0);
}
}
answer_str ~= nums[$-1].to!string ~ "=7";
writeln(answer_str);
}
enum OP{
PLUS,MINUS
}
int calc(OP[] ops, int[] nums){
if(!ops.empty){
switch(ops[0]){
case OP.PLUS:{
if(nums.length > 2){
nums = (nums[0] + nums[1]) ~ nums[2..$];
}else{
nums = [nums[0] + nums[1]];
}
return calc(ops[1..$], nums);
}
case OP.MINUS:{
if(nums.length > 2){
nums = (nums[0] - nums[1]) ~ nums[2..$];
}else{
nums = [nums[0] - nums[1]];
}
return calc(ops[1..$], nums);
}
default:assert(0);
}
}else{
return nums[0];
}
}
提出情報
| 提出日時 |
|
| 問題 |
C - Train Ticket |
| ユーザ |
hinode_n |
| 言語 |
D (DMD64 v2.070.1) |
| 得点 |
300 |
| コード長 |
1465 Byte |
| 結果 |
AC |
| 実行時間 |
1 ms |
| メモリ |
256 KiB |
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
300 / 300 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
| All |
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 01.txt |
AC |
1 ms |
256 KiB |
| 02.txt |
AC |
1 ms |
256 KiB |
| 03.txt |
AC |
1 ms |
256 KiB |
| 04.txt |
AC |
1 ms |
256 KiB |
| 05.txt |
AC |
1 ms |
256 KiB |
| 06.txt |
AC |
1 ms |
256 KiB |
| 07.txt |
AC |
1 ms |
256 KiB |
| 08.txt |
AC |
1 ms |
256 KiB |
| 09.txt |
AC |
1 ms |
256 KiB |
| 10.txt |
AC |
1 ms |
256 KiB |
| 11.txt |
AC |
1 ms |
256 KiB |
| 12.txt |
AC |
1 ms |
256 KiB |
| 13.txt |
AC |
1 ms |
256 KiB |
| 14.txt |
AC |
1 ms |
256 KiB |
| 15.txt |
AC |
1 ms |
256 KiB |
| 16.txt |
AC |
1 ms |
256 KiB |
| sample_01.txt |
AC |
1 ms |
256 KiB |
| sample_02.txt |
AC |
1 ms |
256 KiB |
| sample_03.txt |
AC |
1 ms |
256 KiB |