Table des matières
Physics Experiment poj 3684 弹性碰撞
Maison développement back-end tutoriel php Physics Experiment poj 3684 弹性碰撞_PHP教程

Physics Experiment poj 3684 弹性碰撞_PHP教程

Jul 13, 2016 am 10:05 AM
弹性

Physics Experiment poj 3684 弹性碰撞

Language: Physics Experiment
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 1107   Accepted: 380   Special Judge

Description

Simon is doing a physics experiment with N identical balls with the same radius of R centimeters. Before the experiment, all N balls are fastened within a vertical tube one by one and the lowest point of the lowest ball is H meters above the ground. At beginning of the experiment, (at second 0), the first ball is released and falls down due to the gravity. After that, the balls are released one by one in every second until all balls have been released. When a ball hits the ground, it will bounce back with the same speed as it hits the ground. When two balls hit each other, they with exchange their velocities (both speed and direction).

\

Simon wants to know where are the N balls after T seconds. Can you help him?

In this problem, you can assume that the gravity is constant: g = 10 m/s2.

Input

The first line of the input contains one integer C (C ≤ 20) indicating the number of test cases. Each of the following lines contains four integers N, H, R, T.
1≤ N ≤ 100.
1≤ H ≤ 10000
1≤ R ≤ 100
1≤ T ≤ 10000

Output

For each test case, your program should output N real numbers indicating the height in meters of the lowest point of each ball separated by a single space in a single line. Each number should be rounded to 2 digit after the decimal point.

Sample Input

2
1 10 10 100
2 10 10 100
Copier après la connexion

Sample Output

4.95
4.95 10.20
Copier après la connexion

Source

POJ Founder Monthly Contest – 2008.08.31, Simon

题意:将N个半径为R的球放入一个圆桶(圆桶口径刚好放入一个球),将圆桶竖直放着,最下端距离地面H高度,让球每隔一秒自由下落,求T时刻各个球距离地面的高度。

思路:所有的球都一样可以忽视它们的碰撞,视为互相穿过继续运动。这样就可以分别单独求出每个球T时刻的高度后排序就是答案了。

#include <iostream>
#include <cstdio>
#include <cstring>
#include 
#include <cmath>
#include <string>
#include<map>
#include <stack>
#include <vector>
#include <set>
#include <queue>
#pragma comment (linker,/STACK:102400000,102400000)
#define maxn 105
#define MAXN 2005
#define mod 1000000009
#define INF 0x3f3f3f3f
#define pi acos(-1.0)
#define eps 1e-6
#define lson rt<<1,l,mid
#define rson rt<<1|1,mid+1,r
typedef long long ll;
using namespace std;

int N,T;
double H,R;
double ans[maxn];

double solve(int T)
{
    if (T<0) return H;
    double t=sqrt((2*H)/10.0);
    int k=(int)T/t;
    if (k%2)
        return H-5.0*(k*t+t-T)*(k*t+t-T);
    else
        return H-5.0*(T-k*t)*(T-k*t);
}

int main()
{
    int c;
    scanf(%d,&c);
    while (c--)
    {
        scanf(%d%lf%lf%d,&N,&H,&R,&T);
        for (int i=0;i<n;i++) 1="" 10="" 100="" 2="" for="" i="" int="" pre="" return=""><p> </p><p> </p><p> </p><p> </p><p> </p></n;i++)></queue></set></vector></stack></map></string></cmath></algorithm></cstring></cstdio></iostream>
Copier après la connexion

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/962640.htmlTechArticlePhysics Experiment poj 3684 弹性碰撞 Language: Default Physics Experiment Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1107 Accepted: 380 Special Judge Descriptio...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Java et Kubernetes se connaissent bien : le compagnon idéal des microservices Java et Kubernetes se connaissent bien : le compagnon idéal des microservices Feb 29, 2024 pm 02:31 PM

Java est un langage de programmation populaire pour développer des systèmes distribués et des microservices. Son riche écosystème et ses puissantes capacités de concurrence constituent la base de la création d'applications robustes et évolutives. Kubernetes est une plateforme d'orchestration de conteneurs qui gère et automatise le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Il simplifie la gestion des environnements de microservices en fournissant des fonctionnalités telles que l'orchestration, la découverte de services et la récupération automatique après panne. Avantages de Java et Kubernetes : Évolutivité : Kubernetes vous permet de faire évoluer facilement votre application, à la fois en termes de mise à l'échelle horizontale et verticale. Résilience : Kubernetes offre des capacités de récupération automatique en cas de panne et d'auto-réparation pour garantir que les applications restent disponibles lorsque des problèmes surviennent. Agilité

Qu'est-ce qu'un agencement flexible d'une ligne de production ? Qu'est-ce qu'un agencement flexible d'une ligne de production ? Oct 17, 2023 am 10:28 AM

Les méthodes flexibles d'agencement de la ligne de production incluent l'agencement de la ligne de production en forme de U, l'agencement de la ligne de production en forme d'anneau, l'agencement équilibré de la ligne de production, l'agencement de la chaîne de montage de la ligne de production, l'agencement des unités de la ligne de production, etc. Introduction détaillée : 1. La disposition de la ligne de production en forme de U est une disposition de ligne de production courante qui peut améliorer l'efficacité et la qualité de la production. Dans cette disposition, la ligne de production est disposée en forme de U et les travailleurs effectuent chaque lien de production de manière séquentielle tout au long de la production. ligne ; 2. La disposition de la ligne de production de type environnemental est une méthode de disposition de la ligne de production efficace qui peut améliorer l'efficacité et la qualité de la production. 3. La disposition équilibrée de la ligne de production, etc.

Comment implémenter des modèles architecturaux élastiques et tolérants aux pannes basés sur Spring Boot Comment implémenter des modèles architecturaux élastiques et tolérants aux pannes basés sur Spring Boot Jun 23, 2023 am 09:43 AM

Avec l'expansion continue de l'échelle des systèmes et l'amélioration continue des exigences commerciales, la flexibilité et la tolérance aux pannes des systèmes logiciels sont devenues un élément crucial de la conception de l'architecture. Un système offrant une haute disponibilité, des performances élevées et une efficacité élevée doit souvent être flexible et efficace. Modèles de conception tolérants aux pannes. En tant que framework Java pour un développement et un déploiement rapides, le riche écosystème de SpringBoot et la conception du framework lui-même basé sur des idées de microservices en font un choix idéal pour atteindre l'élasticité et la tolérance aux pannes. Cet article expliquera comment l'implémenter sur la base de SpringBoot

Conquérir le cloud : premiers pas avec Java Spring Cloud, laissez votre application s'envoler pendant neuf jours Conquérir le cloud : premiers pas avec Java Spring Cloud, laissez votre application s'envoler pendant neuf jours Mar 09, 2024 am 09:20 AM

À l’ère moderne du cloud computing, il est essentiel de créer des applications flexibles, évolutives et résilientes. Javaspringcloud fournit un cadre puissant pour aider les développeurs à créer des applications cloud natives et à tirer pleinement parti des capacités et des avantages de la plateforme cloud. Cet article servira de guide d'introduction pour vous guider dans un voyage à la conquête du cloud à l'aide de springCloud, permettant à vos applications de s'envoler vers le ciel. Présentation de Spring Cloud Spring Cloud est un ensemble organisé de modules open source conçus pour simplifier le développement et le déploiement d'applications cloud natives. En fournissant des composants prêts à l'emploi, Spring Cloud réduit considérablement la complexité de la création d'applications distribuées, élastiquement évolutives et tolérantes aux pannes. Ses modules incluent le développement de services

Final Cut Pro, iMovie mis à jour pour prendre en charge l'iPhone 15 Pro Final Cut Pro, iMovie mis à jour pour prendre en charge l'iPhone 15 Pro Sep 21, 2023 pm 08:57 PM

L'iPhone 15 Pro sera officiellement lancé le 22 septembre (vendredi), ce qui signifie que les gens commenceront également à recevoir l'iPhone de nouvelle génération ce jour-là. Apple a commencé à mettre à jour son logiciel de montage vidéo afin que les utilisateurs d'iPhone 15 Pro puissent profiter de la commodité apportée par le nouveau format vidéo. FinalCutPro 10.6.9 inclut les améliorations et corrections de bugs suivantes : • Profitez pleinement de la flexibilité et de la plage dynamique des vidéos codées en enregistrement tournées avec l'iPhone 15 Pro. • Amélioration de l'aspect et de la convivialité des images tournées sur les caméras Fujifilm, DJI et ARRI populaires grâce à de nouveaux profils d'enregistrement. • Correction d'un problème qui pouvait empêcher les modèles Motion de répondre aux paramètres d'opacité.

Sécurité des serveurs Linux : assurer la flexibilité des applications d'interface web. Sécurité des serveurs Linux : assurer la flexibilité des applications d'interface web. Sep 09, 2023 pm 06:13 PM

Sécurité des serveurs Linux : assurer la flexibilité des applications d'interface Web Avec le développement de la technologie Internet, les applications d'interface Web jouent un rôle essentiel dans divers domaines. Cependant, en raison de l'incertitude de l'environnement réseau et de l'existence de risques de sécurité, assurer la sécurité des applications d'interface Web est devenu une question urgente. En tant que principale plate-forme d'hébergement des applications d'interface Web, le serveur Linux dispose d'un support et d'une flexibilité étendus. Nous pouvons garantir la flexibilité des applications d'interface Web grâce à une série de mesures de sécurité. Étape 1 : Utiliser les restrictions du pare-feu

Comment concevoir une structure de table MySQL flexible pour implémenter des fonctions de gestion papier ? Comment concevoir une structure de table MySQL flexible pour implémenter des fonctions de gestion papier ? Oct 31, 2023 am 09:33 AM

Comment concevoir une structure de table MySQL flexible pour implémenter des fonctions de gestion papier ? Résumé : Cet article explique comment concevoir une structure de table MySQL flexible pour implémenter des fonctions de gestion papier. Premièrement, la fonction de gestion du papier est résumée et les besoins analysés ; deuxièmement, la table papier, la table des auteurs, la table du journal et la table des relations sont conçues ; enfin, un exemple de structure de table MySQL de base est donné ; Introduction Avec les progrès continus des travaux de recherche scientifique, la gestion du papier est devenue l'une des fonctions nécessaires aux chercheurs scientifiques. En tant que système de gestion de bases de données relationnelles, MySQL peut fournir

Une analyse approfondie de la technologie de fermeture : maîtrisez ces principes pour rendre votre code plus flexible et évolutif Une analyse approfondie de la technologie de fermeture : maîtrisez ces principes pour rendre votre code plus flexible et évolutif Jan 13, 2024 pm 01:51 PM

Analyse de la technologie de fermeture : Maîtrisez ces connaissances pour rendre votre code plus flexible et évolutif. Des exemples de code spécifiques sont nécessaires. Introduction : Dans le monde de la programmation, la fermeture (Closure) est un concept très puissant et flexible. En utilisant des techniques de fermeture, vous pouvez rendre votre code plus résilient et évolutif. Cet article explique ce que sont les fermetures, comment elles fonctionnent et comment appliquer les techniques de fermeture dans la pratique. Nous utiliserons des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer les fermetures. Partie 1 : Le concept et les principes de fonctionnement des fermetures Une fermeture fait référence à

See all articles