(统计个数) 给出 n 个数,统计每个数能看到的数字个数。
例如:2 5 1 3 4
第一个数字 2 可以看到:5,因为 5 将 1,3,4 挡住了,一共 1 个
第二个数字 5 可以看到:2,1,3,4 一共 4 个
第三个数字 1 可以看到:5,3,4,因为 5 将 2 挡住了,一共 3 个
第四个数字 3 可以看到:1,5,4,因为 5 将 2 挡住了,一共 3 个
第五个数字 4 可以看到:3,5,因为 3 将 1 挡住了,5 将 2 挡住了,一共 2 个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include<iostream> using namespace std; int a[100]; int b[100]; int now; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { now = ①; if(i==0 || i==n-1) b[i]=1; else b[i] = ②; for (int j = ③; j >= 0; j--) { if (a[j] > now) { now = a[j]; b[i]++; } } now = ④; for (int j = ⑤; j < n; j++) { if (a[j] > now) { now = a[j]; b[i]++; } } } for (int i = 0; i < n; i++) { cout << b[i] << " "; } return 0; } |
①处应填( )。
②处应填( )。
③处应填( )。
④处应填( )。
⑤处应填( )。