D.Little Sub and Balloons

Description

Little Sub is an ICPC participant.
Every time when Little Sub solves a new problem, a balloon will be given to him. Different problems have distinct colors.
However, volunteers may give multiple balloons of the same kind to participants when they solve the problem.
Little Sub forgets how many problems he has solved in the last competition, but he still remember all balloons he received. Please help him calculate the number of passed problems.

Input

The first line contains one positive integer n(1 ≤ n ≤ 100), indicating the number of balloons. The following line contains n integers, indicating all the balloons. To simplify the problem, we mark
different colors as different ids.
All given integers will not exceed 2^31 − 1.

Output

Print one integer on the single line, indicating the answer.

Author
CHEN, Jingbang

题义:统计一共出现了多少个不一样的数.
数据范围小的话可以用桶排序.
也可以直接用 STL容器的 set,输出size即可.
#include <iostream>
#include <set>
#include <cstdio>
typedef long long ll;
using namespace std;
set<ll> s;
int main()
{
    int n;
    ll tmp;
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%I64d",&tmp),s.insert(tmp);
    cout<<s.size()<<endl;
    //cout << "Hello world!" << endl;
    return 0;
}

转载于:https://www.cnblogs.com/-yjun/p/10549907.html

Based on the given specifications, here is a sample implementation in Java using JavaFX library: ```java import javafx.animation.AnimationTimer; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.stage.Stage; import java.util.Random; public class BalloonGame extends Application { private static final int WINDOW_WIDTH = 500; private static final int WINDOW_HEIGHT = 500; private static final Color BACKGROUND_COLOR = Color.BLACK; private static final int MIN_BALLOON_RADIUS = 20; private static final int MAX_BALLOON_RADIUS = 40; private static final double BALLOON_APPEAR_TIME = 2.0; private static final double INITIAL_SPEED = 1.0; private static final int MAX_Y_VELOCITY = 100; private static final Random RANDOM = new Random(); private Pane gamePane; private double lastBalloonTime = 0.0; private double speed = INITIAL_SPEED; @Override public void start(Stage primaryStage) throws Exception { gamePane = new Pane(); gamePane.setPrefSize(WINDOW_WIDTH, WINDOW_HEIGHT); gamePane.setStyle("-fx-background-color: black;"); AnimationTimer gameLoop = new AnimationTimer() { @Override public void handle(long now) { update(now); } }; gameLoop.start(); Scene scene = new Scene(gamePane, WINDOW_WIDTH, WINDOW_HEIGHT); primaryStage.setScene(scene); primaryStage.show(); } private void update(long now) { double elapsedTime = (now - lastBalloonTime) / 1_000_000_000.0; if (elapsedTime >= BALLOON_APPEAR_TIME / speed) { createBalloon(); lastBalloonTime = now; } for (Circle balloon : gamePane.getChildren()) { double yVelocity = MAX_Y_VELOCITY + speed * 50; double y = balloon.getCenterY() + yVelocity * elapsedTime; balloon.setCenterY(y); if (y - balloon.getRadius() > WINDOW_HEIGHT) { gamePane.getChildren().remove(balloon); } } speed = (now / 1_000_000_000.0) / 10.0 + INITIAL_SPEED; } private void createBalloon() { int radius = RANDOM.nextInt(MAX_BALLOON_RADIUS - MIN_BALLOON_RADIUS + 1) + MIN_BALLOON_RADIUS; double x = RANDOM.nextInt(WINDOW_WIDTH - radius * 2) + radius; double y = -radius; Color color = RANDOM.nextBoolean() ? Color.RED : Color.GREEN; Circle balloon = new Circle(x, y, radius, color); gamePane.getChildren().add(balloon); } public static void main(String[] args) { launch(args); } } ``` This implementation uses JavaFX to create the game window and handle the animation loop. It creates balloons as Circle shapes with random radius, position, and color. The balloons move down the screen with a constant y velocity that increases with the game speed. The game speed is determined by the time since the game started, and affects the time between balloons appearing and the y velocity of the balloons.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值