多重循环~平面分割
题目描述:
输入
第一行输入一个整数m(m<=100),表示有m组测试数据。接下来的m行,每行有两个整数n和p,分别表示平面内的直线数和相交于一点直线数。
输出
每组测试数据输出一个正整数,表示最多分割成的区域数目。每个测试数据的输出占一行。
1 #include<stdio.h> 2 int main(){ 3 int n,p,m; //m:有几组测试数据,n:平面内有几条线,p:几条线交于一个顶点 4 int ans=0; 5 scanf("%d",&m); 6 int i,j; 7 for(i=1;i<=m;i++){ 8 scanf("%d %d",&n,&p); 9 ans=2*p; 10 for(j=p+1;j<=n;j++) 11 ans=ans+j; 12 printf("%d\n",ans); 13 } 14 return 0; 15 }
solution:
1 不交于一点的其他线要得到最大的分割图,需要穿过每一条相交于一点的其他线
2
n p
3 2 >7 ~ 2*2+3(穿过2跳线增加3个平面)
12 5 >73 ~ 5*2+6(穿过5条线增加6个平面)+7(穿过6跳线增加7个平面)+8+9+10+11+12
3
两个循环:第一个循环:循环组数
第二个循环:循环每一组里每增加一条边而相应增加的平面分割数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程