Submission #110402


Source Code Expand

#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;

struct TimeInfo
{
	int start;
	int end;

	bool canCombain( TimeInfo &info )
	{
		// 内包
		if( start <= info.start )
		{
			if( end >= info.end )
			{
				return true;
			}
			else if( end >= info.start && end <= info.end )
			{
				end = info.end;
				return true;
			}
		}
		else if( start <= info.end )
		{
			if( end <= info.end )
			{
				start = info.start;
				end = info.end;
				return true;
			}
			else
			{
				start = info.start;
				return true;
			}
		}
		return false;
	}
};

int main()
{
	// 整数の入力
	int num;
	cin >> num;

	vector<TimeInfo> data;
	for( int i = 0;i < num;++i )
	{
		string info;
		cin >> info;

		int start,end;
		start = end = 0;
		for( int i = 0;i < 4;++i )
		{
			start = start * 10 + info[i];
			end = end * 10 + info[(i + 5)];
		}
		TimeInfo info;
		info.start = start;
		info.end = end;
		int j;
		for( j = 0;j < data.size();++j )
		{
			if( data[j].start > start )
				break;
		}
		data.insert( info, j );
	}

	while( true )
	{
		bool bCombain = false;
		for( int i = 0;i < data.size() - 1;++i )
		{
			if( data[i].canCombain( data[i + 1] )
			{
				bCombain = true;
				data.remove( i + 1 );
			}
		}
		if( !bCombain )
			break;
	}

	// 出力
	for( int i = 0;i < data.size();++i )
	{
		char output[16];
		sprintf(output,"%04d-%04d",data[i].start,data[i].end);
		cout << output << endl;
	}
	return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User interkame
Language C++ (G++ 4.6.4)
Score 0
Code Size 1530 Byte
Status CE

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:63:12: error: conflicting declaration ‘TimeInfo info’
./Main.cpp:53:10: error: ‘info’ has a previous declaration as ‘std::string info’
./Main.cpp:64:8: error: ‘std::string’ has no member named ‘start’
./Main.cpp:65:14: error: invalid use of member (did you forget the ‘&’ ?)
./Main.cpp:72:24: error: no matching function for call to ‘std::vector<TimeInfo>::insert(std::string&, int&)’
./Main.cpp:72:24: note: candidates are:
/usr/include/c++/4.6/bits/vector.tcc:108:5: note: std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::iterator, const value_type&) [with _Tp = TimeInfo, _Alloc = std::allocator<TimeInfo>, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<TimeInfo*, std::vector<TimeInfo> >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = TimeInfo*, std::vector<_Tp, _Alloc>::value_type = TimeInfo]
/usr/include/c++/4.6/bits/vector.tcc:108:5: note:   no know...