Submission #2124436
Source Code Expand
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];
}
}
Submission Info
| Submission Time |
|
| Task |
C - Train Ticket |
| User |
hinode_n |
| Language |
D (DMD64 v2.070.1) |
| Score |
300 |
| Code Size |
1465 Byte |
| Status |
AC |
| Exec Time |
1 ms |
| Memory |
256 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
300 / 300 |
| Status |
|
|
| Set Name |
Test Cases |
| 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 |
| Case Name |
Status |
Exec Time |
Memory |
| 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 |