之前了解到 ios::sync_with_stdio(false) 可以消除cin,cout的缓存,使其效率与scanf,printf差不多。在这个题中,又产生新的疑惑。如果加上ios::sync_with_stdio(false)(加上这句就不用加getchar()了,但是不知道为什么) ,样例输出没有错,但就是一直wa 。可是去掉这一句,加上getchar(),就ac了。有点迷…
ac的代码:
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
#define ll long long
#define inf 0x3f3f3f
using namespace std;
int main()
{
//ios::sync_with_stdio(false);
int n,len,m;
char sen[1005];
queue<char>q;
cin>>n;
getchar();
fgets(sen,1005,stdin);
len = strlen(sen)-1;
if(len%n!=0)
{
m = len/n+1;
}
else
{
m = len/n;
}
char Map[1005][1005];
for(int i=0; i<len; i++)
{
q.push(sen[i]);
}
int x,y;
int num=0;
for(int j=m-1; j>=0; j--)
{
for(int i=0; i<n; i++)
{
if(q.empty())
{
Map[i][j] = ' ';
}
else
{
Map[i][j] = q.front();
q.pop();
}
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
cout<<Map[i][j];
}
cout<<endl;
}
return 0;
}