Parcourir la source

Contest1258 - 2018-2019-1学期《程序设计技能训练》限时练习赛(第三场,40%)题解

zj il y a 5 ans
Parent
commit
363a3c98e0
9 fichiers modifiés avec 176 ajouts et 0 suppressions
  1. 12 0
      A.cpp
  2. 34 0
      B.cpp
  3. 20 0
      C.cpp
  4. 15 0
      D.cpp
  5. 27 0
      E.cpp
  6. 14 0
      F.cpp
  7. 12 0
      G.cpp
  8. 23 0
      H.cpp
  9. 19 0
      I.cpp

+ 12 - 0
A.cpp

@@ -0,0 +1,12 @@
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+int main(int argc, char const *argv[]) {
+    for (double h; cin >> h;) {
+        cout << fixed << setprecision(1) << (h - 100) * 0.9 * 2 << endl;
+    }
+
+    return 0;
+}

+ 34 - 0
B.cpp

@@ -0,0 +1,34 @@
+#include <vector>
+#include <algorithm>
+#include <iostream>
+#include <cstdio>
+
+using namespace std;
+
+bool prime(long long n) {
+    if (n == 0 || n == 1)return 0;
+    for (long long i = 2; i * i <= n; i++) {
+        if (n % i == 0)return 0;
+    }
+    return 1;
+}
+
+long long re(long long n) {
+    long long ret = 0;
+    while (n) {
+        ret = ret * 10 + n % 10;
+        n /= 10;
+    }
+    return ret;
+}
+
+int main() {
+    long long n;
+    while (scanf("%lld", &n) != EOF) {
+        if (prime(re(n)))
+            printf("Y\n");
+        else printf("N\n");
+    }
+
+
+}

+ 20 - 0
C.cpp

@@ -0,0 +1,20 @@
+#include <iostream>
+
+using namespace std;
+
+int main(int argc, char const *argv[]) {
+    int ah, am, as, bh, bm, bs, ch, cm, cs, sc;
+    for (; cin >> ah >> am >> as >> bh >> bm >> bs;) {
+        sc = 0;
+        cs = as + bs + sc;
+        sc = cs / 60;
+        cs %= 60;
+        cm = am + bm + sc;
+        sc = cm / 60;
+        cm %= 60;
+        ch = (ah + bh + sc) % 24;
+        cout << ch / 10 << ch % 10 << ":" << cm / 10 << cm % 10 << ":" << cs / 10
+             << cs % 10 << endl;
+    }
+    return 0;
+}

+ 15 - 0
D.cpp

@@ -0,0 +1,15 @@
+#include<iostream>
+
+using namespace std;
+
+int main(int argc, char const *argv[]) {
+    for (int n; cin >> n;) {
+        if (n == 1)
+            cout << 1 << endl;
+        else if (n < 4 || n % 4 != 0)
+            cout << -1 << endl;
+        else
+            cout << (n / 4) + 1 << endl;
+    }
+    return 0;
+}

+ 27 - 0
E.cpp

@@ -0,0 +1,27 @@
+#include<iostream>
+
+using namespace std;
+
+int main(int argc, char const *argv[]) {
+    for (int n; cin >> n;) {
+        if (n == 1)
+            cout << "O" << endl;
+        else {
+            for (int i = 0; i < n; i++)
+                cout << "O";
+            cout << endl;
+            for (int i = 0; i < n - 2; i++) {
+                cout << "O";
+                for (int j = 0; j < n - 2; j++)
+                    cout << " ";
+                cout << "O" << endl;
+            }
+            for (int i = 0; i < n; i++)
+                cout << "O";
+            cout << endl;
+
+        }
+        cout << endl;
+    }
+    return 0;
+}

+ 14 - 0
F.cpp

@@ -0,0 +1,14 @@
+#include <bits/stdc++.h>
+
+using namespace std;
+
+int main(int argc, char const *argv[]) {
+    int T, n;
+    for (cin >> T; T-- && cin >> n;) {
+        double d = fmod(n * log10(n), 1.0);
+        double t = pow(10, d);
+        cout << (int) t << endl;
+    }
+    return 0;
+}
+ 

+ 12 - 0
G.cpp

@@ -0,0 +1,12 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+int main() {
+    int n, m;
+    while (cin >> n >> m) {
+        cout << 1LL * n * (n + 1) * m * (m + 1) / 4 << endl;
+    }
+
+    return 0;
+}

+ 23 - 0
H.cpp

@@ -0,0 +1,23 @@
+#include <bits/stdc++.h>
+
+using namespace std;
+
+long long f(int n) {
+    if (n == 1 || n == 2)return 1;
+    return f(n - 1) + f(n - 2);
+}
+
+int main() {
+    int s, mon, d;
+    while (cin >> d) {
+        if (d == 1)mon = 1;
+        else {
+            for (s = 0, mon = 3;; mon++) {
+                s = f(mon - 1) + f(mon - 2);
+                if (s >= d)break;
+            }
+        }
+        cout << mon << endl;
+    }
+    return 0;
+}

+ 19 - 0
I.cpp

@@ -0,0 +1,19 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+int main() {
+    char s[100] = "00";
+    while (cin >> (s + 2)) {
+        int k = strlen(s);
+        int w = k / 3;
+        int a, b, c;
+        sscanf(s + (k - w), "%d", &c);
+        s[k - w] = 0;
+        sscanf(s + (k - 2 * w), "%d", &b);
+        s[k - 2 * w] = 0;
+        sscanf(s, "%d", &a);
+        cout << a << " " << b << " " << c << endl;
+    }
+    return 0;
+}