【TopCoder SRM 157 DIV 1】 Salary 解题报告_html/css_WEB-ITnose
本来想把原题给贴过来的,后来看到人家有版权保护,在网上搜了一下,好像也没有人在博客中贴过原题,为避免麻烦,就不copy人家原题了。
【题目大意】
公司按照每小时 wage 元给员工发工资,员工上班打卡记录一个时间,下班记录一个时间,时间格式为 "hh:mm:ss"。其中,18:00:00 到 23:59:59 和 00:00:00 到 05:59:59 之间算加班时间,工资为1.5倍。计算工资时,分钟和秒都换算成小时来计算,最终的工资取整数,舍弃后面的小数。
【函数格式】
int howMuch(vector <string> arrival, vector <string> departure, int wage)</string></string>
【注意】
arrival和departure元素个数一样,且arrival[0] 【解题思路】 思路不难,只是时间区间判断比较麻烦,有两个时间关键点06:00:00和18:00:00。 【我的代码】 首先是字符串转换成时分秒整数值。两个自定义函数功能分别为:比较两个时间点先后,主要是和两个关键时间点06:00:00和18:00:00比较;计算两个时间点之间的小时数。 然后一大段逻辑判断,判断员工工作时间是不是在00:00:00和06:00:00之间、06:00:00和18:00:00之间、18:00:00和00:00:00之间,还是说跨时间段。class Salary {public: int compareTime(int hh1, int mm1, int ss1, int hh2, int mm2, int ss2) { if (hh1 > hh2 || (hh1 == hh2 && mm1 > mm2) || (hh1 == hh2 && mm1 == mm2 && ss1 > ss2)) { return 1; } if (hh1 = ss1) { time += (ss2 - ss1) / 3600.0; } else { time += (ss2 + 60 - ss1) / 3600.0; mm2 -= 1; } if (mm2 >= mm1) { time += (mm2 - mm1) / 60.0; } else { time += (mm2 + 60 - mm1) / 60.0; hh2 -= 1; } time += hh2 - hh1; return time; } int howMuch(vector <string> arrival, vector <string> departure, int wage) { int beginHour, endHour, beginMinute, endMinute, beginSecond, endSecond; stringstream ss; double total = 0; for (int i = 0; i > beginHour; ss.clear(); ss > beginMinute; ss.clear(); ss > beginSecond; string time2 = departure[i]; ss.clear(); ss > endHour; ss.clear(); ss > endMinute; ss.clear(); ss > endSecond; if (compareTime(beginHour, beginMinute, beginSecond, 6, 0, 0) = 0 && compareTime(endHour, endMinute, endSecond, 18, 0, 0) = 0) { total += duringTime(beginHour, beginMinute, beginSecond, 6, 0, 0) * wage * 1.5; total += duringTime(6, 0, 0, 18, 0, 0) * wage; total += duringTime(18, 0, 0, endHour, endMinute, endSecond) * wage * 1.5; } } else if (compareTime(beginHour, beginMinute, beginSecond, 18, 0, 0) = 0) { total += duringTime(beginHour, beginMinute, beginSecond, 18, 0, 0) * wage; total += duringTime(18, 0, 0, endHour, endMinute, endSecond) * wage * 1.5; } } else { total += duringTime(beginHour, beginMinute, beginSecond, endHour, endMinute, endSecond) * wage * 1.5; } } return (int)total; }};</string></string>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



CSS-Methode, um zu erkennen, dass einem Div eine Ecke fehlt: 1. Erstellen Sie eine HTML-Beispieldatei und definieren Sie ein Div. 2. Legen Sie die Hintergrundfarbe für die Breite und Höhe des Div fest. 3. Fügen Sie dem zu löschenden Div eine Pseudoklasse hinzu eine Ecke und setzen Sie die Pseudoklasse auf „Die gleiche Farbe wie die Hintergrundfarbe verwenden“, drehen Sie sie dann um 45 Grad und positionieren Sie sie dann an der Ecke, die entfernt werden muss.

Vorwort Seit Kurzem gibt es auf GitHub ein Browser-Skript, das neben der Browser-Plugin auch Polier- und Zusammenfassungsfunktionen unterstützt -ins, es verwendet auch Tauri-Paketierung, abgesehen von der Tatsache, dass Tauri den Rust-Teil verwendet, ist der Browser-Teil immer noch relativ einfach zu implementieren. Heute werden wir ihn manuell implementieren. Über die von openAI bereitgestellte Schnittstelle können wir beispielsweise den folgenden Code kopieren und in der Browserkonsole eine Anfrage initiieren, um die Übersetzung abzuschließen //Beispiel constOPENAI_API_KEY="s

Das div-Box-Modell ist ein Modell, das für das Webseiten-Layout verwendet wird. Es behandelt Elemente auf einer Webseite als rechteckige Boxen. Dieses Modell enthält vier Teile: Inhaltsbereich, Innenabstand, Rand und Rand. Der Vorteil des Div-Box-Modells besteht darin, dass es das Layout der Webseite und den Abstand zwischen Elementen leicht steuern kann. Durch Anpassen der Größe des Inhaltsbereichs, des Innenrands, des Rands und des Außenrands können verschiedene Layouteffekte erzielt werden Das Box-Modell bietet außerdem einige Eigenschaften und Methoden, mit denen der Stil und das Verhalten der Box über CSS und JavaScript dynamisch geändert werden können.

Der Unterschied zwischen iframe und div besteht darin, dass iframe hauptsächlich zum Einführen externer Inhalte verwendet wird, die Inhalte von anderen Websites laden oder eine Webseite in mehrere Bereiche unterteilen können. Jeder Bereich verfügt über einen eigenen unabhängigen Browsing-Kontext, während div hauptsächlich zum Unterteilen von und verwendet wird Organisieren Sie den Inhaltsblock zur Layout- und Stilkontrolle.

Die Unterschiede sind: 1. div ist ein Element auf Blockebene und span ist ein Inline-Element. 2. div belegt automatisch eine Zeile, während span nicht automatisch umgebrochen wird. 3. div wird zum Umschließen größerer Strukturen und Layouts verwendet span wird zum Umschließen von Text oder anderen Inline-Elementen verwendet. 4. div kann andere Elemente auf Blockebene und Inline-Elemente enthalten, und span kann andere Inline-Elemente enthalten.

MySQL und Oracle: Vergleich der Unterstützung für Analyse- und Berichtsfunktionen In der modernen datengesteuerten Welt steigt mit dem stetigen Wachstum der Unternehmensdaten auch die Nachfrage nach Datenanalyse- und Berichtsfunktionen. Als die beiden beliebtesten relationalen Datenbankverwaltungssysteme (RDBMS) verfügen MySQL und Oracle in dieser Hinsicht über eine hohe Supportleistung. In diesem Artikel werden sie hinsichtlich ihrer Unterstützung für Datenanalyse- und Berichtsfunktionen verglichen und die Unterschiede anhand von Codebeispielen demonstriert. Werfen wir zunächst einen Blick auf die Datenanalyse von MySQL

In diesem Artikel wird der gesamte Prozess des Trainings von ChatGPT (der neuesten GPT-4-Modellversion) und der Erstellung von Berichten erläutert. Außerdem werden die häufigen Probleme bei der Verwendung von ChatGPT erläutert und erläutert, wie ChatGPT zur Maximierung der Lern- und Arbeitseffizienz verwendet werden kann. Im Folgenden wird der gesamte Prozess der Erstellung eines KI-Sicherheitsberichts beschrieben. Auswahl von Infrastrukturthemen Eine qualitativ hochwertige Themenauswahl kann akademischen Forschern dabei helfen, den Einstiegspunkt des Berichts schnell zu bestimmen, den Lesern dabei zu helfen, das Hauptthema des Berichts zu erfassen, und dem gesamten Bericht eine klarere Struktur und Logik zu verleihen. Indem ChatGPT den Hintergrund des Berichts vorstellt oder Schlüsselwörter und einen Überblick bereitstellt, kann ChatGPT in wenigen Sekunden Themenauswahlen als Referenz für Forscher generieren. Wenn wir Fragen stellen, können wir ChatGPT bitten, mehrere Themenauswahlmöglichkeiten gleichzeitig zu generieren, was hilfreich ist

Titel: jQuery-Tipps: Beherrschen Sie die Methode zum Hinzufügen von Tags zu Divs. In der Webentwicklung stoßen wir häufig auf Situationen, in denen wir der Seite dynamisch Tags hinzufügen müssen. Sie können jQuery verwenden, um DOM-Elemente einfach zu bearbeiten und schnelle Funktionen zum Hinzufügen von Beschriftungen zu erreichen. In diesem Artikel wird erläutert, wie Sie mit jQuery Tags in Divs hinzufügen und spezifische Codebeispiele anhängen. 1. Vorbereitungsarbeiten Bevor Sie jQuery verwenden, müssen Sie die jQuery-Bibliothek auf der Seite einführen. Sie können sie über einen CDN-Link einführen oder auf dieser Seite herunterladen.
