Codeforces Round #496 (Div. 3) 解題報告 A. Tanya and Stairways 模擬

http://codeforces.com/contest/1005/problem/A

解題思路:能有什麼思路,記得判最後一組就好了

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
const int maxn = 1000 + 10;
int a[maxn];
vector<int> di;

int main() {
    int n;
    cin >> n;
    for(int i = 1;i <= n;i++) {
        cin >> a[i];
        if(a[i] == 1 && i != 1) {
            di.push_back(a[i - 1]);
        }
    }
    di.push_back(a[n]);
    cout << di.size() << endl;
    for(auto &i : di)
        cout << i << " ";
    cout << endl;
    return 0;
}

JAVA:

import java.util.Scanner;
import java.util.Vector;

public class Main {

    public static void main(String args[]) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int x = 0,la = 0;
        Vector<Integer> v = new Vector<Integer>();
        for(int i = 1;i <= n;i++) {
            x = sc.nextInt();
            if(x == 1 && i != 1)
                v.add(la);
            la = x;
        }
        v.add(x);
        System.out.println(v.size());
        for(int ele : v) {
            System.out.print(ele + " ");
        }
    }
}

發佈了135 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章