提出 #309014
ソースコード 拡げる
#include <stdio.h>
#include <string.h>
#include <vector>
#include <set>
class Data
{
public:
struct Answer
{
int no;
Answer()
: no( 0 )
{};
bool check( int no )
{
return ( no == no );
}
};
typedef std::vector< Answer > Answers;
static const int QCOUNT = 100;
public:
Data()
: count( 0 )
, input()
{
memset( raw, 0, sizeof( raw ) );
};
~Data()
{
}
int Check( int& high, int& low ) const
{
int h = 0;
int l = count;
for(int no=1; no<=4; no++ )
{
int ac_count = GetAcceptCount( no );
if( ac_count > h )
{
h = ac_count;
}
if( ac_count < l )
{
l = ac_count;
}
}
high = h;
low = l;
return 0;
}
private:
int GetAcceptCount( int no ) const
{
int ac_count = 0;
for( size_t i=0; i<input.size(); i++ )
{
if( no == input[ i ].no )
{
ac_count++;
}
}
return ac_count;
}
public:
int count;
char raw[ QCOUNT+1 ];
Answers input;
};
class DataGetter
{
public:
static int Get( Data& data )
{
data = Data();
int ret = scanf( "%d", &data.count );
scanf( "%s", data.raw );
data.raw[ data.count ] = '\0';
for( int i=0; i< data.count; i++ )
{
char c = data.raw[ i ];
int no = -1;
switch( c )
{
case '1': no = 1; break;
case '2': no = 2; break;
case '3': no = 3; break;
case '4': no = 4; break;
default: no = -1; break;
}
Data::Answer answer;
answer.no = no;
data.input.push_back( answer );
}
return ret;
}
};
class DataPutter
{
public:
static int Put( const Data& data )
{
int high = 0;
int low = 0;
data.Check( high, low );
printf( "%d %d\n", high, low );
return 0;
}
};
int main(int argc, char** argv)
{
Data data;
DataGetter::Get( data );
DataPutter::Put( data );
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | A - センター採点 |
| ユーザ | senri0123 |
| 言語 | C++ (G++ 4.6.4) |
| 得点 | 100 |
| コード長 | 1916 Byte |
| 結果 | AC |
| 実行時間 | 27 ms |
| メモリ | 924 KiB |
コンパイルエラー
./Main.cpp: In static member function ‘static int DataGetter::Get(Data&)’: ./Main.cpp:93:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| All | 00_sample1.txt, 00_sample2.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, 02_all_1.txt, 02_all_2.txt, 02_all_3.txt, 02_all_4.txt, 03_mini_1.txt, 03_mini_2.txt, 03_mini_3.txt, 03_mini_4.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample1.txt | AC | 25 ms | 812 KiB |
| 00_sample2.txt | AC | 27 ms | 764 KiB |
| 01_rnd_00.txt | AC | 24 ms | 872 KiB |
| 01_rnd_01.txt | AC | 23 ms | 748 KiB |
| 01_rnd_02.txt | AC | 24 ms | 860 KiB |
| 01_rnd_03.txt | AC | 26 ms | 856 KiB |
| 01_rnd_04.txt | AC | 24 ms | 924 KiB |
| 01_rnd_05.txt | AC | 24 ms | 812 KiB |
| 01_rnd_06.txt | AC | 24 ms | 864 KiB |
| 01_rnd_07.txt | AC | 24 ms | 864 KiB |
| 01_rnd_08.txt | AC | 23 ms | 800 KiB |
| 01_rnd_09.txt | AC | 24 ms | 800 KiB |
| 01_rnd_10.txt | AC | 23 ms | 796 KiB |
| 01_rnd_11.txt | AC | 25 ms | 796 KiB |
| 01_rnd_12.txt | AC | 23 ms | 804 KiB |
| 01_rnd_13.txt | AC | 24 ms | 800 KiB |
| 01_rnd_14.txt | AC | 25 ms | 804 KiB |
| 01_rnd_15.txt | AC | 25 ms | 756 KiB |
| 01_rnd_16.txt | AC | 23 ms | 752 KiB |
| 01_rnd_17.txt | AC | 23 ms | 800 KiB |
| 01_rnd_18.txt | AC | 25 ms | 796 KiB |
| 01_rnd_19.txt | AC | 24 ms | 800 KiB |
| 02_all_1.txt | AC | 25 ms | 796 KiB |
| 02_all_2.txt | AC | 22 ms | 800 KiB |
| 02_all_3.txt | AC | 24 ms | 800 KiB |
| 02_all_4.txt | AC | 24 ms | 800 KiB |
| 03_mini_1.txt | AC | 26 ms | 772 KiB |
| 03_mini_2.txt | AC | 24 ms | 800 KiB |
| 03_mini_3.txt | AC | 25 ms | 796 KiB |
| 03_mini_4.txt | AC | 24 ms | 800 KiB |