Please sign in first.
Submission #309015
Source Code Expand
#include <stdio.h>
#include <string.h>
#include <vector>
#include <set>
class Data
{
public:
Data()
: from( 0 )
, to( 0 )
, current( 0 )
, count( 0 )
{
};
~Data()
{
}
bool Operation()
{
if( current == to )
{
return true; // finish
}
#define CHANGE_TEMPER_MAX ( 6 )
int change_temper[ CHANGE_TEMPER_MAX ] =
{
1,
5,
10,
-1,
-5,
-10,
};
int nearest_diff = 100; //temper 0 - 40
int nearest_temper = current;
for( int i=0; i<CHANGE_TEMPER_MAX; i++ )
{
int change = change_temper[ i ];
int before = current;
int after = before + change;
int diff = to - after;
if( diff < 0 )
{
diff *= -1;
}
if( diff < nearest_diff )
{
nearest_diff = diff;
nearest_temper = after;
}
}
current = nearest_temper;
count++;
return false;
}
bool Debug()
{
printf( " [%d] %d\n", count, current );
}
public:
int from;
int to;
int current;
int count;
};
class DataGetter
{
public:
static int Get( Data& data )
{
data = Data();
int ret = scanf( "%d %d", &data.from, &data.to );
data.current = data.from;
return ret;
}
};
class DataPutter
{
public:
static int Put( const Data& data )
{
printf( "%d\n", data.count );
return 0;
}
};
int main(int argc, char** argv)
{
Data data;
DataGetter::Get( data );
while( !data.Operation() )
{
//data.Debug();
};
DataPutter::Put( data );
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - リモコン |
| User | senri0123 |
| Language | C++ (G++ 4.6.4) |
| Score | 100 |
| Code Size | 1539 Byte |
| Status | AC |
| Exec Time | 35 ms |
| Memory | 1028 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | 00_maxdiff.txt, 00_maxret.txt, 00_sample1.txt, 00_sample2.txt, 00_sample3.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 01_rnd_20.txt, 01_rnd_21.txt, 01_rnd_22.txt, 01_rnd_23.txt, 01_rnd_24.txt, 01_rnd_25.txt, 01_rnd_26.txt, 01_rnd_27.txt, 01_rnd_28.txt, 01_rnd_29.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_maxdiff.txt | AC | 32 ms | 952 KiB |
| 00_maxret.txt | AC | 27 ms | 1012 KiB |
| 00_sample1.txt | AC | 27 ms | 952 KiB |
| 00_sample2.txt | AC | 26 ms | 956 KiB |
| 00_sample3.txt | AC | 27 ms | 952 KiB |
| 01_rnd_00.txt | AC | 26 ms | 948 KiB |
| 01_rnd_01.txt | AC | 26 ms | 948 KiB |
| 01_rnd_02.txt | AC | 24 ms | 952 KiB |
| 01_rnd_03.txt | AC | 25 ms | 952 KiB |
| 01_rnd_04.txt | AC | 29 ms | 944 KiB |
| 01_rnd_05.txt | AC | 25 ms | 948 KiB |
| 01_rnd_06.txt | AC | 25 ms | 952 KiB |
| 01_rnd_07.txt | AC | 26 ms | 956 KiB |
| 01_rnd_08.txt | AC | 25 ms | 952 KiB |
| 01_rnd_09.txt | AC | 26 ms | 948 KiB |
| 01_rnd_10.txt | AC | 25 ms | 952 KiB |
| 01_rnd_11.txt | AC | 35 ms | 948 KiB |
| 01_rnd_12.txt | AC | 26 ms | 952 KiB |
| 01_rnd_13.txt | AC | 28 ms | 952 KiB |
| 01_rnd_14.txt | AC | 27 ms | 1004 KiB |
| 01_rnd_15.txt | AC | 26 ms | 1028 KiB |
| 01_rnd_16.txt | AC | 27 ms | 952 KiB |
| 01_rnd_17.txt | AC | 26 ms | 952 KiB |
| 01_rnd_18.txt | AC | 27 ms | 944 KiB |
| 01_rnd_19.txt | AC | 30 ms | 952 KiB |
| 01_rnd_20.txt | AC | 27 ms | 952 KiB |
| 01_rnd_21.txt | AC | 28 ms | 952 KiB |
| 01_rnd_22.txt | AC | 31 ms | 944 KiB |
| 01_rnd_23.txt | AC | 28 ms | 948 KiB |
| 01_rnd_24.txt | AC | 28 ms | 948 KiB |
| 01_rnd_25.txt | AC | 27 ms | 944 KiB |
| 01_rnd_26.txt | AC | 27 ms | 952 KiB |
| 01_rnd_27.txt | AC | 28 ms | 940 KiB |
| 01_rnd_28.txt | AC | 28 ms | 1024 KiB |
| 01_rnd_29.txt | AC | 25 ms | 948 KiB |