2 solutions
-
2
#include<iostream> using namespace std; int a[360]={0};//创建一个360度的饼,初始化为0 int main() { int t,z=0; cin>>t; a[z]=1;//先切一刀 for(int i=0;i<t;i++) { int x; cin>>x;//输入 z+=x;//加角度 if(z>=360)//判断是否超出360度 { z%=360; } a[z]=1;//切饼 } int mx=0,s=0; for(int j=0,i=0;j<720;j++,i++)//查看最大间距 { if(i==360)//i超出360度又回到0度(仅一次) { i=0; } if(a[i]==1)//发现被切了 { if(s>mx)//是否是最长长度 { mx=s;//设置最长长度 } s=0;//重置 } s++;//长度增加 } cout<<mx;//输出 return 0;//完结散花! }
-
0
//头文件 //#include<bits/stdc++.h> //using namespace std; //模拟圆的360度 //bool a[365]; //切几刀 //int n; //角度 //int x[365]; //饼的角度 //int sum = 0; //int main() //{ //输入 // cin >> n; //先切一刀 // a[0] = true; //切饼 // for(int i = 1; i <= n; i++) // { //输入 // cin >> x[i]; //加角度 // sum = (sum+x[i])%360; //切角 // a[sum]=true; // } // 最大和计数 // int maxlong=0, loong=0; //寻找最大角度 // for(int j = 0, i = 0; j < 720; j++, i++) // { // if(i==360) // { // i = 0; // } // if(a[i])//发现被切了 // { // if(loong > maxlong)//是否是最大角度 // { // maxlong = loong;//设置当前最大角度 // } // loong = 0;//重置 // } // loong++;//角度增加 // } //输出最大角度 // cout << maxlong; //完结散花! // return 0; //}
- 1
Information
- ID
- 935
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 354
- Accepted
- 25
- Uploaded By