답안 #739603

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
739603 2023-05-10T18:23:36 Z MODDI Type Printer (IOI08_printer) C++14
10 / 100
44 ms 2564 KB
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
typedef long long ll;
typedef pair<long long, long long> pll;
typedef pair<int,int> pii;
typedef vector<long long> vl;
typedef vector<int> vi;
int n;
vector<string> str;
bool comp(string& a, string& b){
	if(a.size() < b.size())	return true;
	else return false;
}
int main(){
	cin>>n;
	str.resize(n);
	for(int i = 0; i < n; i++)
		cin>>str[i];
		
	sort(str.begin(), str.end(), comp);
	string printer;
	vector<char> moves;
	for(int i = 0; i < str.size(); i++){
		while(printer.size() > str[i].size())
		{
			moves.pb('-');
			printer.pop_back();
		}
		int first = 0;
		while(first < str[i].size() && printer[first] == str[i][first])	first++;
//		assert(false);
		while(printer.size() > first)
		{
			printer.pop_back();
			moves.pb('-');
		}
//		assert(false);
		while(printer != str[i]){
			printer.pb(str[i][first]);
			moves.pb(str[i][first]);
			first++;
		}
		moves.pb('P');
	}
	
	cout<<moves.size()<<endl;
	for(auto t : moves)
		cout<<t<<'\n';
	return 0;
}

Compilation message

printer.cpp: In function 'int main()':
printer.cpp:25:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |  for(int i = 0; i < str.size(); i++){
      |                 ~~^~~~~~~~~~~~
printer.cpp:32:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |   while(first < str[i].size() && printer[first] == str[i][first]) first++;
      |         ~~~~~~^~~~~~~~~~~~~~~
printer.cpp:34:24: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   34 |   while(printer.size() > first)
      |         ~~~~~~~~~~~~~~~^~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 300 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 300 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 640 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 15 ms 1268 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 41 ms 2564 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 44 ms 2476 KB Output isn't correct
2 Halted 0 ms 0 KB -