CF25B Phone numbers 題解
阿新 • • 發佈:2021-12-23
CF25B Phone numbers 題解
怎麼說呢。。。水字串模擬題吧。
由於這個題目可以有多種解,所以判斷字串長度的奇偶性即可。
我的想法是:
-
長度為奇數,以\(A_1A_2-A_3A_4-......A_{n-4}A_{n-3}-A_{n-2}A_{n-1}A_n\)輸出即可。例如,輸入2可以這樣輸出:\(11-98-733\)。
-
長度為偶數,以以\(A_1A_2-A_3A_4-......A_{n-3}A_{n-2}-A_{n-1}A_n\)輸出即可。樣例1就是這樣子的。
還有不懂的可以看下程式碼:
#include <cstdio> #include <algorithm> using namespace std; int n, flag, a[107]; int main() { scanf("%d", &n); if(n % 2) flag = 1; //判斷奇偶性 for(int i = 1; i <= n; ++i) scanf("%1d", &a[i]); for(int i = 1; i <= n; ++i) { printf("%d", a[i]); //一個數字一個數字地輸出 if(flag) { //如果是奇數 if(!(i % 2) && (i != n - 1)) //下標為偶數,在後面輸出"-"。注意!下標為n-1的數後面不需要加"-"!不然會判錯! putchar('-'); } else if(!(i % 2) && (i != n)) //下標為偶數,在後面輸出"-"。注意!最後一個數後面不需要加"-"! putchar('-'); } return 0; }
你都看完了,不點一下右上方的贊再走嘛?
當然,有問題的話可以在題解討論區或直接私信我(\(UID=112917\))哦。