Submission #259429
Source Code Expand
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <iterator>
#include <complex>
#include <valarray>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <ctime>
using namespace std;
#define ALL(g) (g).begin(),(g).end()
#define repx(i, x, n) for(int i = (x); i < (n); i++)
#define rep(i, n) repx(i,0,n)
#define F(i, j, k) fill(i[0] , i[0] + j * j , k)
#define EXIST(s, e) ((s).find(e) != (s).end())
#define INF INT_MAX
#define type_sp template<>
#define type(T) template<class T>
#define type2(T, F) template<class T, class F>
#define type3(T, F, G) template<class T, class F, class G>
#define pb push_back
#define mp make_pair
#define mset(m, v) memset(m, v, sizeof(m))
#define SAFED_SCOPE(i, v) for(int _____SCOPE##i = 0; _____SCOPE##i == 0;)for(aut(i, v); _____SCOPE##i == 0; _____SCOPE##i++)
#define each(i, v) SAFED_SCOPE(_____EACH##i, v) for(aut(i, _____EACH##i.begin()); i != _____EACH##i.end(); i++)
#if defined(_MSC_VER) || __cplusplus > 199711L
#define aut(r, v) auto r = (v)
#else
#define aut(r,v) typeof(v) r = (v)
#endif
typedef long long llong;
typedef unsigned int uint;
typedef unsigned long long ullong;
typedef vector<int> vi;
typedef vector<llong> vl;
typedef vector<double> vd;
typedef vector<string> vs;
typedef pair<int,int> pii;
typedef pair<llong,llong> pll;
typedef pair<double,double> pdd;
typedef pair<string,string> pss;
vs split(string haystack,string needle=" "){vs v;string::size_type index=0,index2=0;while((index2=haystack.find(needle,index))!=string::npos){ v.pb(haystack.substr(index,index2-index));index=index2+needle.length();}v.pb(haystack.substr(index,haystack.length()-index));return v;}
type(T) T parce(string s) {T v; istringstream stin(s);stin>>v;return v;}
type(T) string str(T v){ostringstream stout;stout<<v;return stout.str();}
string readln(){string v;getline(cin,v);return v;}
type(T) T read(){T v;cin>>v;return v;}
type(T) T readln_as(){return parce<T>(readln());}
type(T) vector<T> readln_parce(){vector<T> v;vs s=split(readln()," ");each(i,s){v.pb(parce<T>(*i));}return v;}
void writedbl(double v){string ss="";printf("%-lf",v);}
void writedbl(double v,int k){string ss="";printf((ss+"%-."+str(k)+"lf").c_str(),v);}
type(T) void write(T v){cout << v;}
type_sp void write(double v){writedbl(v);}
type(T) void writeln(T v){cout << v << endl;}
void writeln(){cout << endl;}
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
string s1;
string s2;
string s3;
int size;
map<char,int> w1;
map<char,int> w2;
map<char,int> w3;
bool solve(int nth,int rest1,int rest2){
if(size-1==nth){
if(rest1>0){
if(s1.find_first_of(s3[nth])!=string::npos)
return true;
}else if(rest2>0){
if(s2.find_first_of(s3[nth])!=string::npos)
return true;
}
}else{
if(rest1>0){
int p=s1.find_first_of(s3[nth],size/2-rest1);
if(p!=string::npos){
if(p!=size/2-rest1){
char c=s1[size/2-rest1];
s1[size/2-rest1]='0';
s1[p]=c;
}else{
s1[p]='0';
}
if(solve(nth+1,rest1-1,rest2))
return true;
else
if(p!=size/2-rest1){
char c2=s1[p];
s1[size/2-rest1]=c2;
s1[p]=s3[nth];
}else{
s1[p]='0';
}
}
}
if(rest2>0){
int p=s2.find_first_of(s3[nth],size/2-rest2);
if(p!=string::npos){
if(p!=size/2-rest2){
char c=s2[size/2-rest2];
s2[size/2-rest2]='0';
s2[p]=c;
}else{
s2[p]='0';
}
if(solve(nth+1,rest1,rest2-1))
return true;
else
if(p!=size/2-rest2){
char c2=s2[p];
s2[size/2-rest2]=c2;
s2[p]=s3[nth];
}else{
s2[p]='0';
}
}
}
}
return false;
}
void mymain(void){
s1=readln();
size=s1.size();
s2.resize(size);
s3.resize(size);
getline(cin,s2);
getline(cin,s3);
bool answer=false;
answer=solve(0,size/2,size/2);
if(answer)
writeln("YES");
else
writeln("NO");
}
int main(void){
mymain();
return 0;
}
Submission Info
| Submission Time |
|
| Task |
C - 錬金術士 |
| User |
BlackLemon |
| Language |
C++ (G++ 4.6.4) |
| Score |
0 |
| Code Size |
4498 Byte |
| Status |
TLE |
| Exec Time |
2040 ms |
| Memory |
8940 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
0 / 100 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01.txt, sample_02.txt |
| All |
subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt |
| Case Name |
Status |
Exec Time |
Memory |
| sample_01.txt |
AC |
64 ms |
932 KiB |
| sample_02.txt |
AC |
25 ms |
1004 KiB |
| subtask1_01.txt |
AC |
150 ms |
7380 KiB |
| subtask1_02.txt |
AC |
27 ms |
1488 KiB |
| subtask1_03.txt |
AC |
213 ms |
8940 KiB |
| subtask1_04.txt |
AC |
126 ms |
6612 KiB |
| subtask1_05.txt |
AC |
162 ms |
7644 KiB |
| subtask1_06.txt |
AC |
55 ms |
4072 KiB |
| subtask1_07.txt |
AC |
113 ms |
6252 KiB |
| subtask1_08.txt |
AC |
42 ms |
3152 KiB |
| subtask1_09.txt |
AC |
57 ms |
4304 KiB |
| subtask1_10.txt |
AC |
89 ms |
5456 KiB |
| subtask1_11.txt |
AC |
114 ms |
6392 KiB |
| subtask1_12.txt |
AC |
178 ms |
8016 KiB |
| subtask1_13.txt |
AC |
60 ms |
4592 KiB |
| subtask1_14.txt |
AC |
94 ms |
5584 KiB |
| subtask1_15.txt |
AC |
180 ms |
8148 KiB |
| subtask1_16.txt |
AC |
35 ms |
2504 KiB |
| subtask1_17.txt |
AC |
31 ms |
2088 KiB |
| subtask1_18.txt |
AC |
90 ms |
5488 KiB |
| subtask1_19.txt |
AC |
56 ms |
4308 KiB |
| subtask2_01.txt |
TLE |
2031 ms |
1004 KiB |
| subtask2_02.txt |
AC |
26 ms |
976 KiB |
| subtask2_03.txt |
TLE |
2033 ms |
1104 KiB |
| subtask2_04.txt |
TLE |
2040 ms |
1108 KiB |
| subtask2_05.txt |
TLE |
2032 ms |
980 KiB |
| subtask2_06.txt |
TLE |
2034 ms |
1060 KiB |
| subtask2_07.txt |
AC |
25 ms |
924 KiB |
| subtask2_08.txt |
TLE |
2033 ms |
1000 KiB |
| subtask2_09.txt |
TLE |
2032 ms |
1008 KiB |
| subtask2_10.txt |
AC |
1324 ms |
856 KiB |
| subtask2_11.txt |
TLE |
2032 ms |
1104 KiB |
| subtask2_12.txt |
TLE |
2034 ms |
1064 KiB |
| subtask2_13.txt |
TLE |
2034 ms |
996 KiB |
| subtask2_14.txt |
TLE |
2033 ms |
1056 KiB |
| subtask2_15.txt |
AC |
30 ms |
1044 KiB |
| subtask2_16.txt |
AC |
28 ms |
860 KiB |
| subtask2_17.txt |
TLE |
2032 ms |
1008 KiB |
| subtask2_18.txt |
TLE |
2033 ms |
976 KiB |
| subtask2_19.txt |
TLE |
2033 ms |
984 KiB |