幸运星的定义是这一颗星星在这个平面内,正上,正下,正左,正右都有其他的星星(不一定相邻)。 现在,我们已经将这个正方形的区域取出,并且将他们所在的坐标给你。现在希望你能计算,这个平面内有多少颗幸运星?输入第一行包含一个数n,代表正方形区域内星星的总数。 接下来n行,每行两个整数xi,yi,代表这颗星星的坐标。 (n<=2000,-1000<=xi,yi<=1000,没有两颗星星的坐标是相同的。)输出包含一个数,即有多少颗星星是幸运星。给出C++代码
时间: 2024-02-13 12:02:33 浏览: 152
以下是C++代码实现:
```
#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
int n, ans = 0;
cin >> n;
unordered_set<int> s_x, s_y;
for(int i = 0; i < n; ++i) {
int x, y;
cin >> x >> y;
s_x.insert(x);
s_y.insert(y);
}
for(int i = 0; i < n; ++i) {
int x, y;
cin >> x >> y;
if(s_x.size() == 1 || s_y.size() == 1) continue;
if(s_x.count(x) == 1 && s_y.count(y) == 1) ans++;
}
cout << ans << endl;
return 0;
}
```
思路:
1. 首先读入所有星星的坐标,用两个unordered_set分别存储所有星星的横纵坐标。
2. 遍历所有星星的坐标,如果横纵坐标中有任意一个只有一个元素,则该星星不可能是幸运星,跳过。
3. 如果该星星的横纵坐标在各自的set中都出现过,则说明该星星是幸运星,答案加一。
4. 输出答案。
相关问题
用python实现编程萨摩星球上面有一个爱内国,该国国旗如效果图,国旗含义如下:四个大矩形块分别表示蓝天、紫色太阳、土地和青草;四个白色三角表示该国的四座雪山,五角星是该国的幸运星。 请根据设计图,利用turtle模块写出代码,功能是画出该国的国旗
好的,以下是用Python的turtle模块实现编程萨摩星球国旗的代码:
```python
import turtle
# 设置画笔
t = turtle.Pen()
t.speed(0)
# 绘制蓝天
t.penup()
t.goto(-300, 150)
t.pendown()
t.color("#007FFF")
t.begin_fill()
for i in range(2):
t.forward(600)
t.right(90)
t.forward(150)
t.right(90)
t.end_fill()
# 绘制紫色太阳
t.penup()
t.goto(-300, 0)
t.pendown()
t.color("#800080")
t.begin_fill()
for i in range(2):
t.forward(600)
t.right(90)
t.forward(150)
t.right(90)
t.end_fill()
# 绘制土地
t.penup()
t.goto(-300, -150)
t.pendown()
t.color("#CD853F")
t.begin_fill()
for i in range(2):
t.forward(600)
t.right(90)
t.forward(150)
t.right(90)
t.end_fill()
# 绘制青草
t.penup()
t.goto(-225, 75)
t.pendown()
t.color("#006400")
t.begin_fill()
for i in range(2):
t.forward(450)
t.right(90)
t.forward(75)
t.right(90)
t.end_fill()
# 绘制雪山
t.penup()
t.goto(-225, -75)
t.pendown()
t.color("#FFFFFF")
t.begin_fill()
for i in range(3):
t.forward(150)
t.right(120)
t.end_fill()
t.penup()
t.goto(75, -75)
t.pendown()
t.color("#FFFFFF")
t.begin_fill()
for i in range(3):
t.forward(150)
t.right(120)
t.end_fill()
t.penup()
t.goto(-75, -225)
t.pendown()
t.color("#FFFFFF")
t.begin_fill()
for i in range(3):
t.forward(150)
t.right(120)
t.end_fill()
t.penup()
t.goto(225, -225)
t.pendown()
t.color("#FFFFFF")
t.begin_fill()
for i in range(3):
t.forward(150)
t.right(120)
t.end_fill()
# 绘制幸运星
t.penup()
t.goto(-50, 25)
t.pendown()
t.color("#FFFF00")
t.begin_fill()
for i in range(5):
t.forward(100)
t.right(144)
t.end_fill()
# 隐藏画笔
t.hideturtle()
# 等待用户关闭窗口
turtle.done()
```
运行以上代码,就可以在turtle窗口中看到编程萨摩星球的国旗啦!效果如下:
![编程萨摩星球国旗](https://img-blog.csdnimg.cn/20211208091059602.png)
1.设计旗帜 萨摩星球上面有一个爱内国,该国国旗如效果图,国旗含义如下:四个大矩形块分别表示蓝天、紫色太阳、土地和青草;四个白色三角表示该国的四座雪山,五角星是该国的幸运星。 请根据设计图,利用turtle模块写出代码,功能是画出该国的国旗。可参考五星红旗的代码。
好的,以下是画出该国国旗的Python代码:
```python
import turtle
# 设置画布大小
turtle.setup(width=800, height=600)
# 设置画笔速度
turtle.speed(0)
# 定义画矩形函数
def draw_rectangle(width, height, color):
turtle.color(color)
turtle.begin_fill()
turtle.forward(width)
turtle.right(90)
turtle.forward(height)
turtle.right(90)
turtle.forward(width)
turtle.right(90)
turtle.forward(height)
turtle.right(90)
turtle.end_fill()
# 画蓝天矩形
draw_rectangle(800, 200, '#3c7fb1')
# 画紫色太阳矩形
turtle.penup()
turtle.goto(-400, -200)
turtle.pendown()
draw_rectangle(400, 200, '#9b4f96')
# 画土地矩形
turtle.penup()
turtle.goto(0, -200)
turtle.pendown()
draw_rectangle(400, 200, '#9e7d23')
# 画青草矩形
turtle.penup()
turtle.goto(400, -200)
turtle.pendown()
draw_rectangle(400, 200, '#7ebf7e')
# 画雪山三角形
turtle.penup()
turtle.goto(-200, 0)
turtle.pendown()
turtle.color('#ffffff')
turtle.begin_fill()
turtle.goto(-100, 200)
turtle.goto(0, 0)
turtle.goto(-200, 0)
turtle.end_fill()
turtle.penup()
turtle.goto(200, 0)
turtle.pendown()
turtle.begin_fill()
turtle.goto(100, 200)
turtle.goto(0, 0)
turtle.goto(200, 0)
turtle.end_fill()
turtle.penup()
turtle.goto(-100, -200)
turtle.pendown()
turtle.begin_fill()
turtle.goto(0, 0)
turtle.goto(100, -200)
turtle.goto(0, 0)
turtle.goto(-100, -200)
turtle.end_fill()
turtle.penup()
turtle.goto(0, -200)
turtle.pendown()
turtle.begin_fill()
turtle.goto(0, 0)
turtle.goto(100, -200)
turtle.goto(0, 0)
turtle.end_fill()
# 画幸运星五角星
turtle.penup()
turtle.goto(-50, 100)
turtle.pendown()
turtle.color('#ffffff')
turtle.begin_fill()
for i in range(5):
turtle.forward(100)
turtle.right(144)
turtle.end_fill()
# 隐藏画笔
turtle.hideturtle()
# 点击关闭窗口
turtle.exitonclick()
```
运行上述代码,即可在窗口中看到绘制出的萨摩星球的国旗。
阅读全文