题目详情
链接:https://ac.nowcoder.com/acm/contest/9692/L
来源:牛客网
题目描述
母牛刚来到广东柱子大学时,就被学校的柱子深深地迷住。于是,母牛立下了flag,要在大学4年爬遍学校的柱子。同时,每个柱子顶部都有一个最佳的俯瞰学校的观测点。母牛在爬柱子时,会从柱子底爬到柱子顶的最佳观测点。为了尽快爬完大学所有的柱子,母牛想知道他爬一根柱子最短路径。
为方便计算,我们将柱子简化成如上图所示的圆柱。S点为母牛在柱子底部所在的位置,α为OS与平面XOZ的夹角;T为柱子顶部的最佳观测点的位置,β为O’T与平面XOZ的夹角;R为圆柱的半径,H为圆柱的高。
圆周率π取3.1415926535
输入描述:
第一行包含一个整数T(T<=100),表示输入样例数。
接下来T行每行包含α,β,R,H四个整数。
(α,β的单位为度,0 < α,β < 360,0 < R,H < 1000)
输出描述:
输出共T行,每行为母牛从S点爬到T点的最短路径的平方,结果保留两位小数。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char sz[1000005];//数组开大点防止溢出;
int n;
cin>>n;
cin>>sz;
int sum=0;
for(int i=0;i<n;i++)
if(sz[i]=='1')//统计一共有多少1;
sum++;
int m=0;
int s=0;
for(int i=0;i<n;i++)
{
if(sz[i]=='1')
{
s++;
}
else if(sz[i]=='0')
{
s--;
}
if(s<0)//找出字符串中最长的连续1的个数;
s=0;
if(s>m)
m=s;
}
cout<<sum-m;//输出单独要提出的一的次数;
return 0;
}