最后一个换行怎么去掉,求助各位神牛们

P1319 压缩技术

王宏宇11 @ 2019-01-27 18:21:41

下面见0分代码,因为最后一个换行......

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int a[50000];
int main()
{int N,x,s=0;
int flag=3;//奇数为0;偶数为1; 
cin>>N;
for(int i=1;i<=N*N;i++)
   {cin>>x;
   if(flag==2+N*N)
     break;
    for(int j=1;j<=x;j++)
     {if(flag%2==1)
      {a[i]=0;
       cout<<a[i];
       s++;
        if(s>=N)
          {cout<<endl; s=0;}
      }
    if(flag%2==0)
      {a[i]=1;
       cout<<a[i];
       s++;
       if(s>=N)
        {cout<<endl; s=0;} 
      }

   }flag++;
} 
return 0;
}

by Meatherm @ 2019-01-27 18:23:26

@王宏宇11 不应该呀..洛谷会自动屏蔽文末换行


by 王宏宇11 @ 2019-01-27 18:25:06

@兹磁洛谷 真的可以正常输出,和样例给的结果和测试点的结果都一样,就是多了一个换行.....


by wwlw @ 2019-01-27 18:26:53

这个没有影响吧


by Meatherm @ 2019-01-27 18:27:52

@王宏宇11 请检查文中空格。

按理说是不会这样的。

我经常

for(int i=1;i<=n;i++)cout<<a[i]<<endl;

也没出事


by kkksx @ 2019-01-27 18:36:22

@王宏宇11 所以说flag有神马用


by 王宏宇11 @ 2019-01-28 08:41:17

@皮皮鳝 flag用来判断输出是0或1的


by 王宏宇11 @ 2019-01-28 08:42:33

@wwlw 有影响吧,因为我输出结果一样,但是挂0,感觉就是多了换行


by 王宏宇11 @ 2019-01-28 08:43:09

@兹磁洛谷 可是我这样真的挂0,结果对的丫


by kkksx @ 2019-01-28 09:07:37

@王宏宇11 不对啊,你的cin>>x在循环里面,要输入n*n个x才行,但是没有那么多输入。。


by 王宏宇11 @ 2019-01-29 08:34:26

@皮皮鳝 emmmm,好像都点道理,确实错了,结果居然会一样,那可以怎么改呢


|