Nguồn đề bài: http://www.spoj.com/PTIT/problems/P144SUMA/
Nội dung bài viết
1. Đề bài P144SUMA spoj
Tí đang học về từ tính của nam châm. Cậu biết rằng nam châm có 2 cực âm và dương, cùng cực thì đẩy nhau, khác cực thì hút nhau.
Một lần cậu sắp lần lượt các nam châm theo chiều dọc, nhiệm vụ của bạn là xem có bao nhiêu khối nam châm nằm rời nhau.
Nam châm được biểu diễn biểu 2 kí tự 0 và 1. 0 là cực âm, 1 là cực dương.
Input
Dòng đầu tiên là số nguyên n (1 <=n <= 100 000).
n dòng tiếp theo là các xâu đại điện cho nam châm, lần lượt được Tí xếp.
Output
Một dòng duy nhất là số khối nam châm nằm rời nhau.
Example
Test 1:
Input:
6
10
10
10
01
10
10
Output:
3
Test 2:
Input:
4
01
01
10
10
Output:
2
2. Cách làm P144SUMA spoj PTIT – Nam châm
– Bài này quá đơn giản, mình sẽ giải thích code bên dưới.
– ở mỗi dòng, nhập 2 số 0, 1 và xâu s.
– dùng char c để lưu lại kí tự s[2], và tiếp tục nhập tiếp, nếu S[1] vừa nhập = c thì tức là nó đẩy nhau. cập nhật kết quả và biến c cho lần thực hiện sau
3. Code tham khảo P144SUMA spoj PTIT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | const fi=''; nmax=100000; type data=longint; var f:text; n:data; procedure xuli; var i:data; s:string; c:char; dem:data; begin assign(f,fi); reset(f); readln(f,n); dem:=1; c:=' '; for i:=1 to n do begin readln(f,s); if s[1]=c then inc(dem); c:=s[2]; end; writeln(dem); close(f); end; begin xuli; end. |
Bài viết liên quan
- Spoj PTIT PTIT016C – ACM PTIT 2016 C – Chẵn lẻ
- P167PROD spoj PTIT – ROUND 7D – ABC
- P156SUME spoj PTIT – ROUND 6E – Ước chung của chuỗi
- P156PROE spoj PTIT – ROUND 6E – Phép dịch
- P156SUMH spoj PTIT – ROUND 6H – Kim cương
- P151SUMI spoj PTIT – Bóng đá
- BCBASEAD spoj PTIT – Phép cộng cơ sở
- PTIT122F spoj PTIT – Số siêu tự nhiên
- PTIT121K spoj PTIT – Đường đi lớn nhất
- PTIT121I spoj PTIT – Lặp lại các kí tự