幸运星的定义是这一颗星星在这个平面内,正上,正下,正左,正右都有其他的星星(不一定相邻)。 现在,我们已经将这个正方形的区域取出,并且将他们所在的坐标给你。现在希望你能计算,这个平面内有多少颗幸运星?输入第一行包含一个数n,代表正方形区域内星星的总数。 接下来n行,每行两个整数xi,yi,代表这颗星星的坐标。 (n<=2000,-1000<=xi,yi<=1000,没有两颗星星的坐标是相同的。)输出包含一个数,即有多少颗星星是幸运星。给出C++代码
时间: 2024-02-13 12:02:33 浏览: 26
以下是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)
Python代码设计旗帜 萨摩星球上面有一个爱内国,该国国旗如效果图,国旗含义如下:四个大矩形块分别表示蓝天、紫色太阳、土地和青草;四个白色三角表示该国的四座雪山,五角星是该国的幸运星。 请根据设计图,利用turtle模块写出代码,功能是画出该国的国旗。可参考五星红旗的代码。
好的,我会根据您的要求进行回答。根据您的描述,可以使用 turtle 模块来画出该国的国旗,代码如下:
```python
import turtle
# 窗口设置
window = turtle.Screen()
window.setup(width=600, height=400)
window.bgcolor('white')
# 画笔设置
pen = turtle.Turtle()
pen.speed(0)
pen.hideturtle()
# 国旗设计
def draw_flag():
# 蓝天
pen.penup()
pen.goto(-300, 150)
pen.pendown()
pen.color('blue')
pen.begin_fill()
for i in range(2):
pen.forward(600)
pen.right(90)
pen.forward(100)
pen.right(90)
pen.end_fill()
# 紫色太阳
pen.penup()
pen.goto(-300, 50)
pen.pendown()
pen.color('purple')
pen.begin_fill()
for i in range(2):
pen.forward(600)
pen.right(90)
pen.forward(100)
pen.right(90)
pen.end_fill()
# 土地
pen.penup()
pen.goto(-300, -50)
pen.pendown()
pen.color('brown')
pen.begin_fill()
for i in range(2):
pen.forward(600)
pen.right(90)
pen.forward(100)
pen.right(90)
pen.end_fill()
# 青草
pen.penup()
pen.goto(-300, -150)
pen.pendown()
pen.color('green')
pen.begin_fill()
for i in range(2):
pen.forward(600)
pen.right(90)
pen.forward(100)
pen.right(90)
pen.end_fill()
# 雪山
pen.penup()
pen.goto(-100, 150)
pen.pendown()
pen.color('white')
pen.begin_fill()
for i in range(3):
pen.forward(200)
pen.right(120)
pen.end_fill()
pen.penup()
pen.goto(-100, 50)
pen.pendown()
pen.color('white')
pen.begin_fill()
for i in range(3):
pen.forward(200)
pen.right(120)
pen.end_fill()
pen.penup()
pen.goto(100, 150)
pen.pendown()
pen.color('white')
pen.begin_fill()
for i in range(3):
pen.forward(200)
pen.right(120)
pen.end_fill()
pen.penup()
pen.goto(100, 50)
pen.pendown()
pen.color('white')
pen.begin_fill()
for i in range(3):
pen.forward(200)
pen.right(120)
pen.end_fill()
# 幸运星
pen.penup()
pen.goto(0, 0)
pen.pendown()
pen.color('yellow')
pen.begin_fill()
for i in range(5):
pen.forward(100)
pen.right(144)
pen.end_fill()
# 画国旗
draw_flag()
# 保持窗口
turtle.done()
```
代码中使用了 turtle 模块来画出该国的国旗,先设置了窗口大小和背景颜色,然后设置了画笔的属性,包括速度和隐藏。接着,通过 draw_flag() 函数来画出国旗,该函数内部分别画出了蓝天、紫色太阳、土地和青草,以及四个雪山和一个幸运星。
最后,通过 turtle.done() 来保持窗口,让程序不会立即退出。