输出超限??!!

Ryan123  •  2年前


include <bits/stdc++.h>

using namespace std; set s; int SS(int n) { string str="("; for(int i=0; i<n; i++) if((1<<i) & n) str+=char(i+'a'); s.insert(str+")"); } int main() { int n; cin>>n; for(int i=0; i<(1<<n); i++) SS(i); for(set::iterator it=s.begin(); it!=s.end(); it++)

cout<<*it<<'\n';

return 0; //哪位带佬帮我看看为神马出错?


评论:

啥叫set s?? 所以循环那里也要改。

最重点的来了!

函数里循环的N是单独的一个数。 也就是:

int N;
set<string>s;

void Subset(int n)
{
  string str="(";
  for(int i=0; i<N; i++)//注意这里的N是全局变量,是没有改变的。
	if((1<<i)&n)
	  str+=char(i+'a');
  s.insert(str+")");
}

ZZQ  •  2年前