今日「每日一题」来啦!历年真题题目:平面切分。还没有加入专属刷题群的小伙伴,记得扫码哟~(每天会在群里发蓝桥杯历年真题)
1、C/C++组
using namespace std;
int n , ans = 1;
set<pair<int , int>>line;
int calc(int a , int b){
set<pair<double , double>>node;
for(auto i : line){
int A = i.first , B = i.second;
if(A == a) continue ;
double x = 1.0 * (B - b) / (a - A);
double y = x * a + b;
node.insert(make_pair(x , y));
}
return node.size() + 1;
}
signed main()
{
cin >> n;
for(int i = 1 ; i <= n ; i ++) {
int a , b;
cin >> a >> b;
if(line.find(make_pair(a , b)) != line.end()) continue;
ans += calc(a , b);
line.insert(make_pair(a , b));
}
cout << ans << 'n';
return 0;
}
2、Python组
import os
import sys
n = int(input())
line = set()
node = set()
ans = 1
def calc(a , b):
node.clear()
for j in line:
A = j[0]
B = j[1]
if A == a:
continue
x = 1.0 * (B - b) / (a - A)
y = x * a + b
, y));
return len(node) + 1
for i in range(n):
b = list(map(int, input().split()))
if (a, b) in line:
continue
ans += calc(a , b)
b))
print(ans)
今日的「每日一题」就结束啦~

推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...