C1. Bessie's Birthday Cake (Easy Version)

原题链接

题解

往内看,一个 n 个节点的多边形,最多能划分 n-2 个三角形(对于 ( k + 1 ) 个顶点的多边形,可以选择任意一个顶点,并引出一条条对角线把它分割成一个三角形和一个剩下的 ( k ) 边形。)

往外看,而在图中,如果两个关键节点的距离==2,ans++

code

#include<bits/stdc++.h>
using namespace std;
int a[200005]={0};
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,k,y;
        cin>>n>>k>>y;
        for(int i=1;i<=k;i++) cin>>a[i];
        sort(a+1,a+1+k);

        int ans=k-2;
        for(int i=2;i<=k;i++)
        {
            if(a[i]-a[i-1]==2) ans++;
        }
        if(n-a[k]+a[1]==2) ans++;
        cout<<ans<<endl;
    }
    return 0;
}
posted @   纯粹的  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示