Trang chủ Tin Học Lớp 9 Rùa gieo hạt Rùa 🐢 đi làm thêm tại một...

Rùa gieo hạt Rùa 🐢 đi làm thêm tại một cánh đồng có N hàng và M cột, có số hàng được đánh số từ 1→N từ trên xuống dưới và có số cột được đánh số từ 1→M từ tr

Câu hỏi :

Rùa gieo hạt Rùa 🐢 đi làm thêm tại một cánh đồng có N hàng và M cột, có số hàng được đánh số từ 1→N từ trên xuống dưới và có số cột được đánh số từ 1→M từ trái sang phải. Nhiệm vụ của Rùa là gieo hạt vào những ô trong cánh đồng này. Rùa 🐢 có một chiến thuật gieo hạt như sau: mỗi lần gieo thứ i, đầu tiên chọn hai ô (a[i],b[i]) là ô bắt đầu và ô (c[i],d[i]) là ô kết thúc và cậu chọn thêm một số x[i] là số hạt thóc sẽ gieo trong mỗi ô. Cậu sẽ rải theo đường ziczac, đầu tiên từ (a[i],b[i]) lần lượt rải từng ô và đi sang phải đến khi đụng ô cuối cùng trong hàng, cậu đi xuống một hàng và lần lượt rải sang trái cho đến khi đụng ô đầu tiên của hàng bên dưới, cậu lại xuống một hàng và rải sang phải,... cho đến khi cậu rải xong ô cuối cùng là (c[i],d[i]). Trong khi gieo hạt, Rùa quên ghi chép lại số liệu nên hiện tại không biết số hạt mỗi ô trên cánh đồng. Cho thông tin những lần gieo hạt của Rùa, hãy giúp Rùa đếm số hạt thóc mỗi ô trong cánh đồng cuối cùng có được. Input Dòng đầu tiên chứa hai số nguyên lần lượt là N và M (1≤N,M≤10^3) Dòng tiếp theo chứa một số nguyên Q, là số lần Rùa gieo thóc (1≤Q≤2∗10^5) Q dòng tiếp theo chứa năm số nguyên dương, dòng thứ i chứa lần lượt là ai,bi,ci,di,xi (1≤a[i],c[i]≤N), (1≤b[i],d[i]≤M), (1≤x[i]≤109). Với (a[i],b[i]) là ô bắt đầu và (c[i],d[i]) là ô kết thúc. Dữ liệu đầu vào đảm bảo nếu a[i]=c[i] thì b[i]≤d[i] Output In ra N dòng, dòng thứ i in ra M số nguyên. Với dòng i, số thứ j là số thóc ở ô tương ứng trên cánh đồng. Sample Test Input 1 3 4 3 1 1 2 2 1 3 3 3 4 2 2 3 3 3 3 Output 1 1 1 1 1 0 1 4 4 0 0 5 5

Lời giải 1 :

#include<bits/stdc++.h>
using namespace std;
long long n,m,q,z[1005][1005][2],z1[1005][1005][2],t,ans[1005][1005];
int main()
{
 ios_base::sync_with_stdio(false);
 cin.tie(0);cout.tie(0);
 cin>> n>> m>> q;
 
 for ( int i=0; i<q; i++ )
 {
  long long a,b,c,d,x;
  cin>> a>> b>> c>> d>> x;
  if ( a%2 == 1 ) z[a][b][0] += x,z[c][d][1] -= x;
  else z1[a][b][0] += x, z1[c][d][1] -= x;
 }
 
 for ( int i=1; i<=n; i++)
 {
  if ( i%2 == 1)
   for ( int e=1; e<=m; e++)
   {
    t += z[i][e][0];
    ans[i][e]+=t;
    t += z[i][e][1];
   } 
  else 
  {
   for ( int e=m; e>=1; e--)
   {
    t += z[i][e][0];
    ans[i][e]+=t;
    t += z[i][e][1];
   } 
  }
 } 
 
 for ( int i=1; i<=n; i++)
 {
  if ( i%2 == 0)
   for ( int e=1; e<=m; e++)
   {
    t += z1[i][e][0];
    ans[i][e] += t;
    t += z1[i][e][1];
   } 
  else 
  {
   for ( int e=m; e>=1; e--)
   {
    t += z1[i][e][0];
    ans[i][e] += t;
    t += z1[i][e][1];
   } 
  }
 }
 
 for ( int i=1; i<=n; i++)
 {
  for ( int e=1; e<=m; e++) cout<<ans[i][e]<<" ";
  cout<<"\n";
 }
}

image

Thảo luận

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, sắp phải bước vào một kì thi căng thẳng và sắp chia tay bạn bè, thầy cô và cả kì vọng của phụ huynh ngày càng lớn mang tên "Lên cấp 3". Thật là áp lực nhưng các em hãy cứ tự tin vào bản thân là sẻ vượt qua nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK