2021 - 不完全统计
据不完全统计,大湿已经在各地OJ刷题数百,秒杀CCNU各路大神,更加吊炸天的是,他每次刷题难度系数严格递增!例如:数组A={1, 4, 4, 2, 6, 3}是大湿最近的刷题记录,里面的数字代表难度系数,因为A可以分为{1,4},{4},{2,6},{3} 4个严格递增的序列,所以大湿最近一共刷题4次,由于暑假集训要交刷题记录,你能帮大湿统计一下他的刷题次数吗?
Input
第一行 t,测试数据总数
对于每组测试数据
第一行 n,代表大湿刷题总数(1=<n<=50)
第二行 n个整数,代表每题的难度系数。每个整数在1到50之间。
Output
对于每组测试数据,输出一行,刷题次数。
Examples
Input
4 6 1 4 4 2 6 3 7 5 8 9 12 16 32 50 8 1 1 9 9 2 2 3 3 1 42
Output
4 1 6 1
Solution C
#include<stdio.h> int main() { int t,n; scanf("%d",&t); while(scanf("%d",&n)!=EOF) { int a[50]={0}; int i,j,k=0; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;) { while(a[i]<a[i+1]) i++; if(a[i]>=a[i+1]) { k++; i++; } } printf("%d\n",k); } return 0; }
Solution C++
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; int main() { int t; cin>>t; int n; int a[105]; int count; while(t--) { cin>>n; int i; for(i=0;i<n;i++) { cin>>a[i]; } count=1; for(i=0;i<n-1;i++) if(a[i]>=a[i+1]) { count++; } cout<<count<<endl; } return 0; }