m0_60600268 2021-11-19 08:16 采纳率: 100%
浏览 17
已结题

看一下这个stack的作用域

int main() {
 int m, n, k;
 scanf("%d %d %d", &m, &n, &k);
 for(int i = 0; i < k; i++) {
 bool flag = false;
 stack<int> s;//这个stack在每次循环后会自动清空吗,为什么
 vector<int> v(n + 1);
 for(int j = 1; j <= n; j++)scanf("%d", &v[j]);
 int current = 1;
 for(int j = 1; j <= n; j++) {
 s.push(j);
 if(s.size() > m) break;
 while(!s.empty() && s.top() == v[current]) {
 s.pop();
 current++;
 }
 }
 if(current == n + 1) flag = true;
 if(flag) printf("YES\n");
 else printf("NO\n");
 }
 return 0;
```c++
这个stack在每次循环后会自动清空吗,为什么


  • 写回答

2条回答 默认 最新

  • 於黾 2021-11-19 08:29
    关注

    按理说应该不清空,但是你判断s长度大于m就跳出循环是干什么用的
    你给s里输入n个数,但是循环到m次程序就结束了?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月19日

悬赏问题

  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal