题意:真不想吐槽,翻译软件坏了,题读半个小时都都不懂,六级成绩堪忧啊。。
其实就是计算,把左边所有x移到右边与右边最近的x接头,问中间还剩下多少空格。
思路:水题。。计算中间空格最少的数目,每行减去再求和就ok了!
ps: getchar()和初始化不要忘了。。血的教训。。
#include <iostream>
#include <cstdio>
#include <cmath>
#include <queue>
#include <stack>
#include <algorithm>
#include <cstring>
#include <utility>
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
int sum,mins,n,temp,res;
char a;
int main()
{
while(cin>>n && n)
{
mins=INF,sum=0,temp=0;
getchar(); //!!因为输入是char,所以要防止吞了回车符
for(int i=0;i<n;i++)
{
for(int j=0;j<25;j++)
{
scanf("%c",&a);
if(a==' ')
temp++; //记录每行空格数
}
//printf("%d\n",temp);
sum+=temp; //计算总空格数
mins=min(mins,temp);
temp=0;
getchar();
}
//printf("%d %d\n",sum,mins);
res=sum-n*mins; //每行减去最短空格
printf("%d\n",res);
}
return 0;
}
本文介绍了一个简单的C++程序,用于解决一个特定问题:计算字符串中空格的最小距离并输出剩余空格数量。该程序通过逐行读取输入,并计算每行空格的数量来实现这一目标。
335

被折叠的 条评论
为什么被折叠?



