UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#215137#2656. addWZRYWZWY100823ms3132kbC++112.2kb2024-11-26 19:59:472024-11-26 23:03:31

answer

#include <bits/stdc++.h> //WZRYWZWY 自己写的 
using namespace std;

string s;
int n;

void work(int i, int r, int r2, int r3) {
	if ((s[r + 1] == '0' && r + 1 != r2) || 
		(s[r2 + 1] == '0' && r2 + 1 != r3)) return ;
	int rr = r2, res = 0;
	bool t = 1;
	while (r2 > i && r > 0 && r3 > rr) {
		int p = (s[r]-'0' + s[r2]-'0');
		p += res;
		res = p / 10;
		p %= 10;
		if (p != (s[r3] - '0')) {
			t = 0; break;
		}
		r --; r2 --; r3 --;
	}
	if (t == 0) return ;
	if ((r > 0 || r2 > i) && r3 <= rr) return ;
	while (r > 0 && r3 > rr) {
		int p = s[r] - '0' + res;
		res = p / 10;
		p %= 10;
		if (p != s[r3] - '0') {
			t = 0; break;
		}
		r --; r3 --;
	}
	if (t == 0) return ;
	while (r2 > i && r3 > rr) {
		int p = s[r2] - '0' + res;
		res = p / 10;
		p %= 10;
		if (p != s[r3] - '0') {
			t = 0; break;
		}
		r2 --; r3 --;
	}
	if (t == 0) return ;
	//cout << r << ' ' << r2 << ' ' << r3 << "\n";
	for (int j = 1; j <= i; j++) cout << s[j];
	cout << "+";
	int j = i + 1;
	while (s[j] == '0' && j < rr) j ++;
	for (; j <= rr; j++) cout << s[j];
	cout << "=";
	while (s[j] == '0' && j < n) j ++;
	for (; j <= n; j++) cout << s[j];
	exit(0);
}

int main() {
	cin >> s;
	s = ' ' + s;
	n = s.length() - 1;
	int k = 1;
	for (int i = 2; i <= n / 3; i++) {
		if (s[i] == s[i - 1]) k = i;
		else break;
	}
	if (n % 3 == 0 && k == n / 3) {
		k++;
		for (int i = k + 1; i <= n; i ++) {
			if (s[i] == s[i - 1]) k = i;
			else break;
		}
		if (k == n / 3 * 2) {
			int k2 = n;
			for (int i = n - 1; i >= 1; i--) {
				if (s[i] == s[i + 1]) k2 = i;
				else break;
			}
			
			if (k2 == k + 1) {
				
				if (s[k] -'0' + s[1] - '0' == s[n] - '0') {
					for (int i = 1; i <= n / 3; i++) cout << s[1];
					cout << "+";
					for (int i = 1; i <= n / 3; i++) cout << s[k];
					cout << "=";
					for (int i = 1; i <= n / 3; i++) cout << s[n];
					return 0;						
				}
				
			
			} 
			
			
		}

	}
	
	for (int i = 1; i <= n; i++) {
		//cout << i << ": ";
		int r = i, r2 = i + (n - i) / 2, r3 = n;
		if (i > n / 3) r2 = i + n - i * 2;
		//cout << r << " " << r2 << " " << r3 << "\n";
		
		work(i, r, r2, r3);
		work(i, r, r2 + 1, r3);
		work(i, r, r2 - 1, r3);

	}
}

/*
90001667868290010349
*/

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 5
Accepted
time: 0ms
memory: 1208kb

input:

93944386991110939443869921

output:

939443869911+10=939443869921

result:

ok single line: '939443869911+10=939443869921'

Test #2:

score: 5
Accepted
time: 0ms
memory: 1204kb

input:

454431423351945476661

output:

45443142+33519=45476661

result:

ok single line: '45443142+33519=45476661'

Test #3:

score: 5
Accepted
time: 0ms
memory: 1208kb

input:

807674775734008076747757340

output:

8076747757340+0=8076747757340

result:

ok single line: '8076747757340+0=8076747757340'

Test #4:

score: 5
Accepted
time: 0ms
memory: 1204kb

input:

47936157175791479437362

output:

479361571+75791=479437362

result:

ok single line: '479361571+75791=479437362'

Test #5:

score: 5
Accepted
time: 0ms
memory: 1208kb

input:

8684160719450790868416071945079

output:

868416071945079+0=868416071945079

result:

ok single line: '868416071945079+0=868416071945079'

Test #6:

score: 5
Accepted
time: 0ms
memory: 1204kb

input:

3150325920082064131504079841

output:

31503259200+820641=31504079841

result:

ok single line: '31503259200+820641=31504079841'

Test #7:

score: 5
Accepted
time: 53ms
memory: 2864kb

input:

9261598869160335057970310229283612818845075445997339978957735823966059362624832990688056822195031820...

output:

9261598869160335057970310229283612818845075445997339978957735823966059362624832990688056822195031820...

result:

ok single line: '926159886916033505797031022928...3054231497478113058482456217163'

Test #8:

score: 5
Accepted
time: 61ms
memory: 2868kb

input:

4701609646464966471786112512122938863110668626139644802941307402470417596440427343650542031038908331...

output:

4701609646464966471786112512122938863110668626139644802941307402470417596440427343650542031038908331...

result:

ok single line: '470160964646496647178611251212...8748395060129898210762369495747'

Test #9:

score: 5
Accepted
time: 69ms
memory: 3132kb

input:

9257202799561473086244723527541134302291247300137775651258683390946286052100443441136004200934466749...

output:

9257202799561473086244723527541134302291247300137775651258683390946286052100443441136004200934466749...

result:

ok single line: '925720279956147308624472352754...2243909924739032590362234901192'

Test #10:

score: 5
Accepted
time: 66ms
memory: 2864kb

input:

4416728326936622856150699213135191910979789931946758505266833530473668185681946524100519868737557117...

output:

4416728326936622856150699213135191910979789931946758505266833530473668185681946524100519868737557117...

result:

ok single line: '441672832693662285615069921313...3111611421682233543698480114264'

Test #11:

score: 5
Accepted
time: 66ms
memory: 3132kb

input:

3061041362133228009344583160193669358685821190644364754039063887060686947993153784177860432362852231...

output:

3061041362133228009344583160193669358685821190644364754039063887060686947993153784177860432362852231...

result:

ok single line: '306104136213322800934458316019...4042293112332153562949434601781'

Test #12:

score: 5
Accepted
time: 62ms
memory: 3128kb

input:

8531603642906385747583399978283975747482545589702570907905311483331351132043885935451850547243462360...

output:

8531603642906385747583399978283975747482545589702570907905311483331351132043885935451850547243462360...

result:

ok single line: '853160364290638574758339997828...5180929300855954383525415798317'

Test #13:

score: 5
Accepted
time: 67ms
memory: 3132kb

input:

3334731073815946487356418721839719459473953466541212185094515699104064312397044785650155583747481091...

output:

3334731073815946487356418721839719459473953466541212185094515699104064312397044785650155583747481091...

result:

ok single line: '333473107381594648735641872183...2104466046161989376727619609117'

Test #14:

score: 5
Accepted
time: 65ms
memory: 3128kb

input:

7113181137342253409543193679407457232222929505170124047879622285985297849800487899060254257891240998...

output:

7113181137342253409543193679407457232222929505170124047879622285985297849800487899060254257891240998...

result:

ok single line: '711318113734225340954319367940...7499580501189814539270742795615'

Test #15:

score: 5
Accepted
time: 73ms
memory: 3128kb

input:

2226576415518523623432262365703901892218433052474981493103118406267304359951441730045611163295598279...

output:

2226576415518523623432262365703901892218433052474981493103118406267304359951441730045611163295598279...

result:

ok single line: '222657641551852362343226236570...1283546754745341452795514550351'

Test #16:

score: 5
Accepted
time: 67ms
memory: 3132kb

input:

7282380568017210841065149843225478309106222219195648724985194189592224139941051182898879219925651713...

output:

7282380568017210841065149843225478309106222219195648724985194189592224139941051182898879219925651713...

result:

ok single line: '728238056801721084106514984322...6665028468440209585025731431738'

Test #17:

score: 5
Accepted
time: 69ms
memory: 3132kb

input:

6172023021615818261278406139291452768117320772111777913293782100858187571870407831738505138788606992...

output:

6172023021615818261278406139291452768117320772111777913293782100858187571870407831738505138788606992...

result:

ok single line: '617202302161581826127840613929...9022854228506784321805225740782'

Test #18:

score: 5
Accepted
time: 38ms
memory: 2340kb

input:

1641729471229192950020661455158841378773007409709289573050186474289570718374236969060246403530844480...

output:

1641729471229192950020661455158841378773007409709289573050186474289570718374236969060246403530844480...

result:

ok single line: '164172947122919295002066145515...1428289195899821981683641721297'

Test #19:

score: 5
Accepted
time: 32ms
memory: 2080kb

input:

6878197288916471551222877849454599200431985721720556540869310866854759368074574456390764568703818252...

output:

6878197288916471551222877849454599200431985721720556540869310866854759368074574456390764568703818252...

result:

ok single line: '687819728891647155122287784945...4028111836067678989020741708082'

Test #20:

score: 5
Accepted
time: 35ms
memory: 2084kb

input:

1336335135465815186373041570173603326293570642638147764739718555949768772153761126675803325646928488...

output:

1336335135465815186373041570173603326293570642638147764739718555949768772153761126675803325646928488...

result:

ok single line: '133633513546581518637304157017...5916651705852916207264857823016'