Thông báo về việc mở cuộc thi Tin Học lần 3-hè năm 2021
Được sự đồng ý của thầy Phynit, mình xin được tổ chức cuộc thi Tin Học lần 3-hè năm 2021 nhằm tạo thêm một sân chơi thật bổ ích trong trang web Hoc24.vn
1: Đối tượng tham gia: là các bạn học sinh từ lớp 6 trở lên có hiểu biết về ngôn ngữ lập trình Pascal hoặc C++
2: Thể lệ và luật thi:
-Mỗi bài thi sẽ có tối đa 20 điểm, trong mỗi vòng thi chỉ được sử dụng 1 tài khoản duy nhất
-Có 3 vòng thi
+Vòng 1-Vòng sơ loại: Dự kiến diễn ra từ 8h ngày 8/7/2021 đến hết ngày 13/7/2021. Chọn ra ít nhất 10 bạn có thành tích tốt nhất để lọt vào vòng bán kết(10 bạn này phải có điểm số trên 0, nếu có ít hơn 10 bạn thì sẽ lấy những bạn có điểm số trên 0 để vào vòng sau).
+Vòng 2-Vòng bán kết: Dự kiến diễn ra từ 8h ngày 15/7/2021 đến hết ngày 20/7/2021. Chọn ra ít nhất 5 bạn có thành tích tốt nhất để lọt vào vòng chung kết.(5 bạn này phải có điểm số trên 0, nếu có ít hơn 5 bạn thì sẽ lấy những bạn có điểm số trên 0 để vào vòng sau).
+Vòng 3-Vòng chung kết: Dự kiến diễn ra từ 8h ngày 22/7/2021 đến hết ngày 27/7/2021. Chọn ra 3 bạn có điểm số cao nhất để trao giải thưởng chung cuộc.
-Nội dung: Đề thi sẽ có 70% cơ bản, 30% nâng cao
-Các bạn không được sử dụng tệp ở tất cả các câu hỏi mà chỉ được nhập dữ liệu vào từ bàn phím.
-Dự kiến: 1 đề ở vòng 1, 1 đề ở vòng 2, 1 đề ở vòng 3.
-Phần mềm hỗ trợ:
+Free Pascal(Link tải: https://download.com.vn/free-pascal/download)
+Turbo Pascal(Link tải: https://download.com.vn/pascal/download)
+Code Block(Link tải: https://download.com.vn/code-blocks-122619)
-Nộp bài:
+Có thể gửi bài làm bằng cách nhập từ bàn phím
+Có thể gửi từ giấy(1)
+Có thể gửi trực tiếp bài làm bằng chương trình(2)
Yêu cầu đối với trường hợp (1) và (2) là phải chụp rõ hình
-Giải thưởng:
+Giải nhất: 50GP và 100 coin
+Giải nhì: 30GP và 75 coin
+Giải ba: 20GP và 60 coin
Xin chúc tất cả các bạn có một cuộc thi thành công!
Thông báo mở Vòng 3-Vòng chung kết cuộc thi Tin Học lần 3-hè năm 2021
Vòng 3 của cuộc thi Tin Học lần 3-hè năm 2021 đã chính thức mở. Thời gian làm bài: Từ bây giờ đến hết ngày 27/7/2021(6 ngày). 5 bạn sẽ tham gia để chọn ra 3 bạn có thành tích tốt nhất để nhận giải thưởng chung cuộc.
5 bạn tham gia bao gồm:
1: Quân Trương(https://hoc24.vn/vip/73772423201)
2: Trần Nguyễn Đăng Dương(https://hoc24.vn/vip/624304595222)
3: Nguyễn Khánh Tài Huy(https://hoc24.vn/vip/2998667340325)
4: Hồng Phúc(https://hoc24.vn/vip/hongphucv9)
5: Nguyễn Văn Hoàng(https://hoc24.vn/vip/259386316906)
Giải thưởng chung cuộc cho 3 bạn xuất sắc nhất ở vòng 3 bao gồm:
-Giải nhất: 50GP và 100 coin
-Giải nhì: 30GP và 75 coin
-Giải ba: 20GP và 60 coin
Link vòng thi: https://hoc24.vn/cuoc-thi/cuoc-thi-tin-hoc-lan-3-do-nguyen-le-phuoc-thinh-to-chuc.4679/vong-3-vong-chung-ket.5466
Chúc các bạn làm bài thật tốt!
THÔNG BÁO KẾT THÚC VÒNG 2 CUỘC THI TIN HỌC LẦN 3
Như vậy là Vòng 2 đã kết thúc sau 6 ngày thi đấu. Kết quả là 5 bạn có điểm số cao nhất đã lọt vào vòng 3. Danh sách các bạn đó là:
STT | Tên | Điểm |
1 | Quân Trương(https://hoc24.vn/vip/73772423201) | 20 |
2 | Trần Nguyễn Đăng Dương(https://hoc24.vn/vip/624304595222) | 19,7 |
3 | Nguyễn Khánh Tài Huy(https://hoc24.vn/vip/2998667340325) | 19,1 |
4 | Hồng Phúc(https://hoc24.vn/vip/hongphucv9) | 16,1 |
5 | Nguyễn Văn Hoàng(https://hoc24.vn/vip/259386316906) | 15,8 |
-Một số lưu ý:
+Ở vòng 3 các bạn không được sử dụng file, chỉ được nhập dữ liệu từ bàn phím
+Thời gian chạy mỗi test trong từng bài không quá 1s
Các bạn qua được Vòng 2 sẽ được thưởng mỗi bạn 10GP. Các bạn comment dưới bài viết này để được nhận thưởng.
Lịch mở vòng 3: 22/7/2021
ĐÁP ÁN VÒNG 2 CUỘC THI TIN HỌC LẦN 3:
Câu 1(2 điểm)
uses crt;
var a:array[1..100000]of int64;
i,n,x,dem:int64;
begin
clrscr;
readln(n,x);
for i:=1 to n do
read(a[i]);
dem:=0;
for i:=1 to n do
if x=a[i] then inc(dem);
writeln(dem);
readln;
end.
Câu 2(2 điểm)
uses crt;
var n,k,i,dem:int64;
a:array[1..1000000]of int64;
{-----------------chuong-trinh-con-quick-sort------------------------}
procedure qs(d,c:int64);
var i,j,x,tam:int64;
begin
i:=d;
j:=c;
x:=a[(i+j) div 2];
repeat
while a[i]<x do
inc(i);
while a[j]>x do
dec(j);
if i<=j then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
inc(i);
dec(j);
end;
until i>j;
if d<j then qs(d,j);
if i<c then qs(i,c);
end;
{---------------chuong-trinh-chinh------------------}
begin
clrscr;
readln(n);
for i:=1 to n do
read(a[i]);
qs(1,n);
k:=a[n];
dem:=0;
for i:=1 to n do
if k=a[i] then inc(dem);
writeln(dem);
readln;
end.
Câu 3(2 điểm) Bài làm của bạn Hưng Nguyễn Thái
var a,b,c:int64;
begin
read(a,b,c);
if (a+b <= c) and ((c-a-b) mod 2 = 0) then write('Yes')
else write('No');
end.
Câu 4(6 điểm) Bài làm của bạn Quý Lương
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cout.tie(NULL);
ll n, k;
cin>>n>>k;
ll d=__gcd(n, k);
n/=d; k/=d;
cout << n/k << '.';
n=n%k*10;
ll s=0, t=k;
for (s; t%2==0 or t%5==0; s++) {
if (t%2==0) t/=2;
if (t%5==0) t/=5;
}
for (s; s>0; s--) {
cout << n/k;
n=(n%k) * 10;
}
if (t==1) cout << "(0)";
else {
ll r =10%t;
for (s=1; r!=1; s++) r=r*10 % t;
cout << '(';
for (s; s>0; s--) {
cout << n/k;
n=(n%k)*10;
}
cout << ')';
}
}
Câu 5(8 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương
#include <bits/stdc++.h>
using namespace std;
int n;
long long a[100001];
long long f[100001];
void ans(long long x)
{
int dem=1;
for (long long i=2;i*i<=x;i++)
if (x%i==0)
{
f[dem]=i;
if (i!=sqrt(x))
{
f[dem+1]=x/i; dem+=2;
}
else dem++;
}
f[dem]=x;
sort(f+1,f+dem);
for (int i=1;i<=dem;i++) cout<<f[i]<<endl;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
cin>>n;
for (int i=1;i<=n;i++) cin>>a[i];
long long gcd=abs(a[2]-a[1]);
for (int i=3;i<=n;i++)
gcd=__gcd(gcd,abs(a[i]-a[i-1]));
ans(gcd);
}
ĐÁP ÁN VÒNG 3 CUỘC THI TIN HỌC LẦN 3
Câu 1(2 điểm) Bài làm của bạn Nguyễn Khánh Tài Huy
var a,b,tg1,tg2,UC: longint;
f1,f2: text;
function tguoc(x: longint): longint;
var i,tg: longint;
begin
tg:=0;
for i:=1 to trunc(sqrt(x)) do
if x mod i = 0 then
begin
tg:=tg+i;
tg:=tg+x div i;
if i*i=x then tg:=tg-i;
end;
exit(tg);
end;
function UCLN(a,b: longint): longint;
begin
if a=0 then exit(b)
else UCLN:=UCLN(b mod a,a);
end;
begin
readln(a);
readln(b);
tg1:=tguoc(a);
tg2:=tguoc(b);
if tg1*b=tg2*a then
begin
UC:=ucln(tg1,a);
tg1:=tg1 div UC;
a:=a div UC;
writeln(tg1);
writeln(a);
end
else writeln(-1);
end.
Câu 2(4 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương
#include <bits/stdc++.h>
using namespace std;
#define div 1000000007
#define arrst {{1,1},{1,0}}
long long x;
void power(long long a[2][2], long long n);
void multi(long long a[2][2], long long b[2][2]);
long long fibo(long long n)
{
long long f[2][2]=arrst;
power(f,n-1);
return f[0][0];
}
void power(long long a[2][2], long long n)
{
if ((n==0) || (n==1)) return;
long long b[2][2]=arrst;
power(a,n/2);
multi(a,a);
if (n%2==1)
multi(a,b);
}
void multi(long long a[2][2], long long b[2][2])
{
long long x = (((a[0][0]%div) * (b[0][0]%div))%div + ((a[0][1]%div) * (b[1][0]%div))%div)%div;
long long y = (((a[0][0]%div) * (b[0][1]%div))%div + ((a[0][1]%div) * (b[1][1]%div))%div)%div;
long long z = (((a[1][0]%div) * (b[0][0]%div))%div + ((a[1][1]%div) * (b[1][0]%div))%div)%div;
long long w = (((a[1][0]%div) * (b[0][1]%div))%div + ((a[1][1]%div) * (b[1][1]%div))%div)%div;
a[0][0]=x; a[0][1]=y; a[1][0]=z; a[1][1]=w;
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
long long t; cin>>t;
for (long long i=1;i<=t;i++)
{
cin>>x;
cout<<fibo(x)%div<<endl;
}
}
Câu 3(4 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương
#include <bits/stdc++.h>
using namespace std;
struct ii{
long long a; long long b;
};
vector <ii> arr;
long long n,q;
void del(long long numx, long long numy)
{
long long dem=0;
while ((arr[dem].a!=numx) || (arr[dem].b!=numy)) dem++;
arr.erase(arr.begin()+dem);
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
cin>>n>>q;
for (long long i=1;i<=n;i++)
{
long long x,y; cin>>x>>y;
arr.push_back({x,y});
}
for (long long i=1;i<=q;i++)
{
long long t,x,y; cin>>t>>x>>y;
if (t==1) arr.push_back({x,y});
else if (t==2) del(x,y);
else
{
long long maxx=INT_MIN, maxy=INT_MIN;
for (long long i=0;i<arr.size();i++)
{
if (arr[i].b==y) maxx=max(maxx,abs(arr[i].a-x));
if (arr[i].a==x) maxy=max(maxy,abs(arr[i].b-y));
}
if ((maxx!=INT_MIN) && (maxy!=INT_MIN))
{
cout<<maxx*maxy/2;
if (maxx*maxy%2!=0) cout<<".5";
cout<<endl;
}
else cout<<0<<endl;
}
}
}
Câu 4(5 điểm) Bài làm của bạn Nguyễn Khánh Tài Huy
#include <cstdio>
#include <cstdlib>
#include <numeric>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN = 16;
const int MAXL = 1 << 20;
const int inf = 1 << 30;
int n;
char str[MAXN][MAXL];
int cnt[MAXN][26];
int dp[1 << MAXN];
int calc_pref(int mask) {
int len = 0;
int tmp[26];
fill(tmp, tmp+26, inf);
for (int i = 0; i < n; ++i)
if (mask&(1 << i))
for (int j = 0; j < 26; ++j)
tmp[j] = min(tmp[j], cnt[i][j]);
for (int i = 0; i < 26; ++i)
len += tmp[i];
return len;
}
int solve(int mask) {
int &ret = dp[mask];
if (ret != -1) return ret;
int pref = calc_pref(mask);
if ((mask&-mask) == mask) return ret = pref;
ret = inf;
for (int i = (mask - 1) & mask; i > 0; i = (i - 1) & mask) {
int curr = solve(i) + solve(mask ^ i) - pref;
ret = min(ret, curr);
}
return ret;
}
int main (void){
memset(dp, -1, sizeof dp);
scanf("%d", &n);
for (int i = 0; i < n; ++i)
scanf("%s", str[i]);
for (int i = 0; i < n; ++i)
for (int j = 0; str[i][j]; ++j)
cnt[i][str[i][j] - 'a']++;
printf("%d\n", solve((1 << n)-1) + 1);
return 0;
}
Câu 5(5 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương
#include <bits/stdc++.h>
using namespace std;
vector <bool> sang(1000000000,true);
vector <long long> snt;
void sangnt(long long x)
{
for (long long i=2;i<=x;i++)
{
if (sang[i])
{
snt.push_back(i);
for (long long j=i;j*i<=x;j++) sang[i*j]=false;
}
}
}
void num(long long input)
{
long long step_count = 1;
long long step_limit = 2;
long long adder = 1;
long long x = 0, y = 0;
for (long long n = 2; n != input + 1; n++,step_count++)
{
if (step_count <= .5 * step_limit) x += adder;
else if (step_count <= step_limit) y += adder;
if (step_count == step_limit)
{
adder *= -1;
step_limit += 2;
step_count = 0;
}
}
cout << x << " " << y;
}
int main()
{
long long n; cin>>n;
sangnt(n);
long long l=0;
while (snt[l]!=n) l++;
l++;
num(l);
}
THÔNG BÁO KẾT QUẢ VÀ GIẢI THƯỞNG CUỘC THI TIN HỌC LẦN 3-HÈ 2021
Như vậy là sau 8 ngày tranh tài, vòng 3 cuộc thi Tin Học lần 3-hè 2021 cũng đã kết thúc. Xin chúc mừng 3 bạn xuất sắc nhất:
Vị trí | Tên | Điểm | Giải thưởng | Ghi chú |
1 | Nguyễn Khánh Tài Huy | 12,12 | Nhất | 50GP+100 coin |
2 | Trần Nguyễn Đăng Dương | 11,1 | Nhì | 30GP+75 coin |
3 | Hồng Phúc | 7 | Ba | 20GP+60 coin |
Vì sau 2 vòng đầu tiên, có những bạn chưa được nhận thưởng khi qua 2 vòng nên mình xin lập bảng thống kê giải thưởng như sau:
STT | Tên | Số GP chưa được thưởng ở vòng 1 | Số GP chưa được thưởng ở vòng 2 | Tổng |
1 | Phạm Minh Tuấn | 0GP | ||
2 | No Name | 0GP | ||
3 | Hưng Nguyễn Thái | 0GP | ||
4 | Nguyễn Khánh Tài Huy | 5GP | 0GP | 5GP |
5 | Quý Lương | 5GP | 5GP | |
6 | Nguyễn Văn Hoàng | 5GP | 0GP | 5GP |
7 | Quân Trương | 5GP | 10GP | 15GP |
8 | Trần Nguyễn Đăng Dương | 0GP | 10GP | 10GP |
9 | Hồng Phúc | 0GP | 0GP | |
10 | Trần Minh Hoàng | 5GP | 5GP |
Một lần nữa mình xin chúc mừng tất cả các bạn đã đạt giải.
Thầy Thọ sẽ trao giải cho các bạn. Và mình xin cảm ơn các bạn đã tham gia và ủng hộ cuộc thi của mình!
Cho dãy số nguyên A={a1, a2, .............an}. Gồm N phần tử hãy sắp xếp dãy số nguyên A theo chiều không tăng?
+Xác định bài toán
+Nêu ý tưởng
+Mô tả thuật toán bằng cách liệt kê
Phát biểu nào dưới đây là chính xác
A. tin học là môn học nghiên cứu và phát triển máy tính điện tử
B Tin học có mục tiêu là phát triển và sử dụng máy tính
C tin học là môn học sử dụng máy tính điện tử
D tin học ứng dụng trong mọi lĩnh vực và hoạt động của con người
CHO HỎI: LÀM SAO MỚI CÓ THỂ TẢI ẢNH TỪ GOOGLE TRÊN LAP
đây có phải là thánh không