QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#528300#9229. Juliet Unifies Onesucup-team987#AC ✓0ms3740kbC++20891b2024-08-23 12:35:092024-08-23 12:35:09

Judging History

你现在查看的是最新测评结果

  • [2024-08-23 12:35:09]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3740kb
  • [2024-08-23 12:35:09]
  • 提交

answer

#include<iostream>
#include<cassert>
using namespace std;
string S;
int dp[55][3];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin>>S;
	for(int i=0;i<=S.size();i++)for(int j=0;j<3;j++)dp[i][j]=1e9;
	dp[0][0]=0;
	dp[0][1]=0;
	dp[0][2]=0;
	for(int i=0;i<S.size();i++)
	{
		if(S[i]=='0')
		{
			dp[i+1][0]=min(dp[i+1][0],dp[i][0]);
			dp[i+1][1]=min(dp[i+1][1],dp[i][0]+1);
			dp[i+1][1]=min(dp[i+1][1],dp[i][1]+1);
			dp[i+1][2]=min(dp[i+1][2],dp[i][1]);
			dp[i+1][2]=min(dp[i+1][2],dp[i][2]);
		}
		else
		{
			dp[i+1][0]=min(dp[i+1][0],dp[i][0]+1);
			dp[i+1][1]=min(dp[i+1][1],dp[i][0]);
			dp[i+1][1]=min(dp[i+1][1],dp[i][1]);
			dp[i+1][2]=min(dp[i+1][2],dp[i][1]+1);
			dp[i+1][2]=min(dp[i+1][2],dp[i][2]+1);
		}
		dp[i+1][1]=min(dp[i+1][1],dp[i+1][0]);
		dp[i+1][2]=min(dp[i+1][2],dp[i+1][1]);
	}
	cout<<dp[S.size()][2]<<endl;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3612kb

input:

00011011001

output:

2

result:

ok 1 number(s): "2"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

11101111111111111101001011110111111110011101010110

output:

11

result:

ok 1 number(s): "11"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3676kb

input:

00000000100000000000100000010001000

output:

3

result:

ok 1 number(s): "3"

Test #4:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

00000000000000000000000000000000000000000000000000

output:

0

result:

ok 1 number(s): "0"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3724kb

input:

00000000100000000000100000011000

output:

2

result:

ok 1 number(s): "2"

Test #6:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

11000010100100000011101100000001000100000000000000

output:

8

result:

ok 1 number(s): "8"

Test #7:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

01100100111011110101010110000100001111110001110001

output:

19

result:

ok 1 number(s): "19"

Test #8:

score: 0
Accepted
time: 0ms
memory: 3676kb

input:

1110101111001

output:

3

result:

ok 1 number(s): "3"

Test #9:

score: 0
Accepted
time: 0ms
memory: 3544kb

input:

1

output:

0

result:

ok 1 number(s): "0"

Test #10:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

1001

output:

1

result:

ok 1 number(s): "1"

Test #11:

score: 0
Accepted
time: 0ms
memory: 3684kb

input:

11111111111111111111111111111111111111111111111111

output:

0

result:

ok 1 number(s): "0"

Test #12:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

11111100000000001101010101100011

output:

9

result:

ok 1 number(s): "9"

Test #13:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

00011011001

output:

2

result:

ok 1 number(s): "2"

Test #14:

score: 0
Accepted
time: 0ms
memory: 3604kb

input:

11011

output:

1

result:

ok 1 number(s): "1"

Test #15:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

100011011

output:

2

result:

ok 1 number(s): "2"

Test #16:

score: 0
Accepted
time: 0ms
memory: 3740kb

input:

0

output:

0

result:

ok 1 number(s): "0"

Test #17:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

1010101010011011001101100110011101101011100110110

output:

19

result:

ok 1 number(s): "19"

Test #18:

score: 0
Accepted
time: 0ms
memory: 3676kb

input:

01110100000000111100000011000000000110010001110101

output:

14

result:

ok 1 number(s): "14"

Test #19:

score: 0
Accepted
time: 0ms
memory: 3740kb

input:

01100001000000010000000000010010000100100101001000

output:

9

result:

ok 1 number(s): "9"

Test #20:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

1101010101010101010101010101010101010101010101011

output:

23

result:

ok 1 number(s): "23"

Extra Test:

score: 0
Extra Test Passed