标签:color sort 方向 title cout pac rmi 返回 mod
一开始一行三个整数 n, m, k ,代表A的车的档位数、B行走的速度和AB之间的距离。
接下来一行 n 个整数,代表A的车的不同档位的行驶速度。
一行两个整数,代表A最快/最慢在几秒后能见到B(向上取整)。
5 20 80 30 15 10 5 -5
6 20
对于所有数据,0 <= n <= 1000,-100000 <= A车速度 <= 100000,-A最慢速度 < B行走速度 <= 100000,0 <= k <= 100000.
题目保证最大值和最小值都有解。
本来没看数据范围,还听大佬一直在喊+0.5,还真的就+0.5交了好几发。还说这个提交时间很长是还没有返回结果,还没交上,爆交失败
最后发现n=0,mmp
#include <bits/stdc++.h> using namespace std; int a[1005]; int main() { int n,m,k; ios::sync_with_stdio(false); cin>>n>>m>>k; for(int i=0; i<n; i++) cin>>a[i]; int ma=*max_element(a,a+n),mi=*min_element(a,a+n); cout<<(ceil)(k*3.6/fabs(m+ma))<<" "<<(ceil)(k*3.6/fabs(m+mi)); return 0; }
#include <bits/stdc++.h> using namespace std; int main() { int n,m,k; cin>>n>>m>>k; if(n==0)cout<<(ceil)(k*3.6/m)<<" "<<(ceil)(k*3.6/m); else { vector<int>V; for(int i=0; i<n; i++) { int x; cin>>x; V.push_back(x); } sort(V.begin(),V.end()); cout<<(ceil)(k*3.6/(m+V[n-1]))<<" "<<(ceil)(k*3.6/(m+V[0])); } return 0; }
第一行两个整数n, m表示矩阵的大小 (1 <= n, m <= 500);
接下来 n 行,每行一个长度为 m 的字符串表示矩阵,矩阵元素保证由X和O构成。
一行一个整数表示最大的蝴蝶形状的对角线的长度。
5 5 XOOOO XXOOO XOXOO XXOOO XOOOO
5
暴力前缀和,处理下情况,然后去枚举
#include <bits/stdc++.h> using namespace std; char s[501][501]; int X[501][501],O[501][501]; int n, m; int main() { scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) scanf("%s",s[i]+1); for(int j=1; j<=m; j++) for(int i=1; i<=n; i++) { X[i][j]=X[i-1][j]+(s[i][j]==‘X‘); O[i][j]=O[i-1][j]+(s[i][j]==‘O‘); } int ans=0; for(int i=1; i<=n; i++) for(int j=1; j<=m; j++) if(s[i][j]==‘X‘) { ans=max(ans,1); for(int k=1;; k++) { int l=j-k,r=j+k,u=i-k,d=i+k; if(l<1||r>m||u<1||d>n||s[u][l]!=‘X‘||s[u][r]!=‘O‘||s[d][l]!=‘X‘||s[d][r]!=‘O‘)break; if(O[d][l]-O[u-1][l]==0&&X[d][r]-X[u-1][r]==0)ans=max(ans, 1+2*k); } } printf("%d\n",ans); return 0; }
标签:color sort 方向 title cout pac rmi 返回 mod
原文地址:http://www.cnblogs.com/BobHuang/p/7818661.html