今日头条那个括号匹配的题我这个代码怎么只过30%,我自己一个反例都造不出来
发布于 2017-03-30 21:06 3358 次浏览 0 赞 来自 我要提问  

#include<iostream>

#include<string>

#include<map>

#include<algorithm>

using namespace std;

int total = 0;

string s;

void print(int a)

{

cout << '+';

for (int i = 0; i < a; i++)

cout << '-';

cout << '+';

}

int main()

{

cin >> s;

int max_ = 0;

for (int i = 0; i < s.size(); i++)

{

if (s[i] == '[')

total += 1;

else

total -= 1;

max_ = max(max_, total);

}

total = max_;

for (int i = 0; i < s.size(); i++)

{

if (s[i] == '[')

{

for (int j = max_ - total - 1; j>0; j--)

cout << ' ';

if (total != max_)

cout << '|';

print(2 * total - 1);

if (total != max_)

cout << '|';

total--;

}

else

{


total++;

if (s[i - 1] == '[')

{

for (int k = 0; k < 2; k++)

{

for (int j = 0; j < max_ - total; j++)

cout << ' ';

cout << '|';

for (int j = 0; j < 2 * total - 1; j++)

cout << ' ';

cout << '|' << endl;

if (k == 0)

cout << endl;

}


}

for (int j = max_ - total - 1; j>0; j--)

cout << ' ';

if (total != max_)

cout << '|';

print(2 * total - 1);

if (total != max_)

cout << '|';


}

if (i != s.size() - 1)

cout << endl;

}

return 0;

}


35 条回复

我猜你可能是。。。T了?

2017-03-30 21:08
acmcoderHBxFcixD 回复 coder_3EUDS6GW

没,他说wa

2017-03-30 21:10

是的呀。。我的也怎么调都是30%,根本不知道怎么错

2017-03-30 21:11
1

我在本地都是对的  但是也只有30  我想是不是他的输入都不规范 需要我们来规范输出?

2017-03-30 21:12

这题太尼玛坑爹了 ,感觉我的没错,就是无限30%

2017-03-30 21:12
acmcoderHBxFcixD 回复 coder_4DWDYH9J

我感觉他数据错了。。。我只想知道有没有大于30%的

2017-03-30 21:13

我也是。。自己玩的可开心了,但是oj就只有30%。。。

2017-03-30 21:14

同30%,同举不出错误样例,举样例举了半个小时

2017-03-30 21:14

[[[][[]]]]


你輸出的這個結果是錯的:

+-------+

|+-----+|

 |+---+|

  |   |


  |   |

 |+---+|

 |+---+|

  |+-+|

   | |


   | |

  |+-+|

 |+---+|

|+-----+|

+-------+

2017-03-30 21:14

[[][]]

2017-03-30 21:15

这一题有问题,题干中,除了最高层,其他层次每一行前面都有一些空格,有一个逐层显示的效果,但是最终AC的代码,前面不需要空格,都是顶头输出,和题干中的图不符合

2017-03-30 21:15
acmcoderHBxFcixD 回复 coder_9XZF3PZH

这个例子我哪里错了

2017-03-30 21:16

我也是30%啊,本地调试都是正确的。难道是我题意领会错了?


2017-03-30 21:16
acmcoderHBxFcixD 回复 coder_54M9VYU7

这个例子我哪里错了

2017-03-30 21:17
acmcoderHBxFcixD 回复 coder_9ZKKVBGE

哪里有最终ac代码啊

2017-03-30 21:18
acmcoderHBxFcixD 回复 coder_54M9VYU7

我自己输出没你那么奇葩啊

2017-03-30 21:19
acmcoderHBxFcixD 回复 coder_54M9VYU7

±------+ |±----+| |±–+| | | | | |±–+| |±–+| |±+| | | | | |±+| |±–+| |±----+| ±------+

2017-03-30 21:19
coder_9ZKKVBGE 回复 acmcoderHBxFcixD

我同学做出来的

2017-03-30 21:19
acmcoderHBxFcixD 回复 coder_9ZKKVBGE

这太坑爹了,这题直接导致了第四题没时间做

2017-03-30 21:21

[[[][[]]]]

2017-03-30 21:22
coder_54M9VYU7 回复 acmcoderHBxFcixD

在11樓回復你了

2017-03-30 21:24
acmcoderHBxFcixD 回复 coder_54M9VYU7

这个错了吗?

2017-03-30 21:24
acmcoderHBxFcixD 回复 coder_54M9VYU7

不是括号之间不用空行吗

2017-03-30 21:25
coder_54M9VYU7 回复 acmcoderHBxFcixD

這兩行沒有 ‘|’

2017-03-30 21:26
lcxywfe 回复 coder_9ZKKVBGE

那我只能说这个网站MDZZ

2017-03-30 21:26
acmcoderHBxFcixD 回复 coder_54M9VYU7

没看懂为什么没有啊?

2017-03-30 21:26
acmcoderHBxFcixD 回复 acmcoderHBxFcixD

不是只有最外层括号不加|吗

2017-03-30 21:27
coder_6NTPEG3H 回复 acmcoderHBxFcixD

第4-6行是不是多余的

2017-03-30 21:29
acmcoderHBxFcixD 回复 coder_6NTPEG3H

不是吧,提干里的样例也是有的

2017-03-30 21:30

我也一直是30%,后来把最后一行的回车去掉了就ac了。另外,每一行的 | 后面也没有空格。

2017-03-30 21:32
1
coder_6NTPEG3H 回复 acmcoderHBxFcixD

这个不是最里层的括号吧

2017-03-30 21:32
acmcoderHBxFcixD 回复 coder_6NTPEG3H

但是他题干里的样例,[[[]]][],最后那对括号是有这样的东西的

2017-03-30 21:34
coder_6NTPEG3H 回复 acmcoderHBxFcixD

因为最后这两个括号没有被别的括号包围,所以它也是最里层的。

2017-03-30 21:35
acmcoderHBxFcixD 回复 coder_6NTPEG3H

最里层是这个意思吗。。。

2017-03-30 21:38
acmcoderHBxFcixD 回复 coder_G3CGT2QJ

那你看我这个程序有问题吗

2017-03-30 21:43
添加回复
回到顶部