#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxN = 100 + 5 ;
const int maxM = 2e5 + 5;
ll x, y, dif;
int main()
{
int t; scanf("%d", &t);
while(t -- )
{
scanf("%lld%lld", &x, &y);
dif = x - y;
if(dif == 1 )
printf("NO\n");
else
printf("YES\n");
}
return 0;
}
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x3f3f3f3f
#define P(x) x < 0 ? 0 : x
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxN = 1e5 + 5 ;
const int maxM = 2e5 + 5;
int n, r;
int a[maxN];
int main()
{
int q; scanf("%d", &q);
while(q -- )
{
scanf("%d%d", &n, &r);
for(int i = 0; i< n ; i ++ )
scanf("%d", &a[i]);
sort(a, a + n);
n = unique(a, a + n) - a;
int ans = 0;
for(int i = n - 1; i >= 0 ; i -- )
{
if(a[i] - ans * r <= 0)
continue;
ans ++;
}
printf("%d\n", ans);
}
return 0;
}
假设我们在 高度为 x 的台阶上往下跳
所以我们只需要这样做:
注意:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x3f3f3f3f
#define P(x) x < 0 ? 0 : x
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxN = 2e5 + 5 ;
const int maxM = 2e5 + 5;
int h, n;
int a[maxN] ;
int main()
{
int q; scanf("%d", &q);
while(q -- )
{
scanf("%d%d", &h, &n);
set<int>st;
for(int i = 0; i < n ; i ++ )
{
scanf("%d", &a[i]);
st.insert(a[i]);
}
a[n] = 0;
st.insert(a[n]);
int ans = 0;
for(int i = 1; i < n ; )
{
int tmp = a[i] + 1;//第二个台阶的上一节不存在的台阶
if(st.find(tmp - 2) != st.end())
i += 2;
else
{
i ++ ;
ans ++ ;
}
}
printf("%d\n", ans);
}
return 0;
}