【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>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kaedah CSS untuk menyedari bahawa div tiada sudut: 1. Buat fail sampel HTML dan tentukan div 2. Tetapkan warna latar lebar dan ketinggian untuk div 3. Tambah kelas pseudo pada div yang perlu dipadamkan; sudut, dan tetapkan kelas pseudo kepada Gunakan warna yang sama dengan warna latar belakang, kemudian putarkannya 45 darjah, dan kemudian letakkannya ke sudut yang perlu dialih keluar.

Prakata Baru-baru ini, terdapat skrip pelayar berdasarkan ChatGPTAPI di GitHub, openai-translator Dalam tempoh yang singkat, bintang itu telah mencapai 12k Selain menyokong terjemahan, ia juga menyokong fungsi penggilap dan ringkasan -in, ia juga menggunakan pembungkusan tauri Jika anda mempunyai klien desktop, selain daripada fakta bahawa tauri menggunakan bahagian karat, bahagian pelayar masih agak mudah untuk dilaksanakan Hari ini kami akan melaksanakannya secara manual. Antara muka yang disediakan oleh openAI, sebagai contoh, kita boleh menyalin kod berikut dan memulakan permintaan dalam konsol penyemak imbas untuk melengkapkan terjemahan //Const constOPENAI_API_KEY="s

Model kotak div ialah model yang digunakan untuk reka letak halaman web Ia menganggap elemen dalam halaman web sebagai kotak segi empat tepat Model ini mengandungi empat bahagian: kawasan kandungan, padding, sempadan dan margin. Kelebihan model kotak div ialah ia boleh mengawal reka letak halaman web dengan mudah dan jarak antara elemen Dengan melaraskan saiz kawasan kandungan, jidar dalam, jidar dan jidar luar, pelbagai kesan susun atur boleh dicapai model kotak juga menyediakan beberapa Sifat dan kaedah boleh mengubah gaya dan tingkah laku kotak secara dinamik melalui CSS dan JavaScript.

Perbezaan antara iframe dan div ialah iframe digunakan terutamanya untuk memperkenalkan kandungan luaran, yang boleh memuatkan kandungan dari tapak web lain atau membahagikan halaman web kepada berbilang kawasan Setiap kawasan mempunyai konteks penyemakan imbas bebasnya sendiri, manakala div digunakan terutamanya untuk membahagikan dan mengatur kandungan untuk reka letak dan kawalan gaya.

Perbezaannya ialah: 1. div ialah elemen peringkat blok, dan span ialah elemen sebaris; 2. div akan secara automatik menduduki baris, manakala span tidak akan secara automatik membalut; span digunakan untuk membalut Teks atau elemen sebaris lain 4. div boleh mengandungi unsur peringkat blok dan unsur sebaris lain, dan span boleh mengandungi unsur sebaris lain.

MySQL dan Oracle: Perbandingan Sokongan untuk Fungsi Analisis dan Pelaporan Dalam dunia dipacu data moden, apabila data perusahaan terus berkembang, permintaan untuk analisis data dan fungsi pelaporan juga meningkat. Sebagai dua sistem pengurusan pangkalan data hubungan (RDBMS) yang paling popular, MySQL dan Oracle mempunyai prestasi sokongan yang tinggi dalam hal ini. Artikel ini akan membandingkannya dari segi sokongan mereka untuk analisis data dan fungsi pelaporan, dan menunjukkan perbezaan melalui contoh kod. Pertama, mari kita lihat analisis data MySQL

Artikel ini akan berkongsi keseluruhan proses latihan ChatGPT (versi model GPT-4 terkini) dan menjana laporan, serta membincangkan masalah biasa yang wujud dalam penggunaan ChatGPT, dan cara menggunakan ChatGPT untuk memaksimumkan pembelajaran dan kecekapan kerja. Berikut ialah keseluruhan proses penjanaan laporan keselamatan AI. Pemilihan topik infrastruktur Pemilihan topik yang berkualiti tinggi boleh membantu penyelidik akademik menentukan titik kemasukan laporan dengan cepat, membimbing pembaca untuk menangkap tema utama laporan dan menjadikan keseluruhan laporan menyajikan struktur dan logik yang lebih jelas. Dengan memperkenalkan latar belakang laporan atau menyediakan kata kunci dan gambaran keseluruhan kepada ChatGPT, ChatGPT boleh menjana pemilihan topik dalam beberapa saat untuk rujukan penyelidik. Apabila kami bertanya soalan, kami boleh meminta ChatGPT menjana berbilang pilihan topik pada masa yang sama, yang membantu

Tajuk: Petua jQuery: Kuasai kaedah menambah tag pada div Dalam pembangunan web, kita sering menghadapi situasi di mana kita perlu menambah tag secara dinamik pada halaman. Anda boleh menggunakan jQuery untuk memanipulasi elemen DOM dengan mudah dan mencapai fungsi penambahan label yang pantas. Artikel ini akan memperkenalkan cara menggunakan jQuery untuk menambah teg dalam div, dan melampirkan contoh kod tertentu. 1. Kerja penyediaan Sebelum menggunakan jQuery, anda perlu memperkenalkan perpustakaan jQuery ke dalam halaman Anda boleh memperkenalkannya melalui pautan CDN atau memuat turunnya ke halaman ini.
