Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Sense.exe
Problemset: เลขดวง
Language: cpp
Time: 0.003 second
Submitted On: 2026-09-26 11:18:06
#include <bits/stdc++.h>
using namespace std;
int main() {
int day,start,birth;
cin >> day >> start >> birth;
int col_birth = (birth+start-1)%7;
if(col_birth==0) {
col_birth=7;
}
int sum=0;
//up
if(birth-7>=1) {
sum+=birth-7;
}
//down
if(birth+7<=day) {
sum+=birth+7;
}
//right
if((birth+1<=day)&&col_birth!=7) { //ตอนแรก (birth%7!=start) เลยผิด
sum+=birth+1;
}
//left
if((birth-1>=1)&&col_birth!=1) { //ตอนแรก ((birth)%7!=start+1) เลยผิด
sum+=birth-1;
}
cout << sum;
}
//ผิดและซับซ้อนเกิน
// int main() {
// int day,start,birth,st_loop;
// cin >> day >> start >> birth;
// int end = ((start+day)%7)-1;
// if(start!=1) {
// if(start>4) { //คิดเงื่อนไขซับซ้อนเกินไปและไม่ถูกต้องตามหลักปฏิทินจริง
// st_loop = start-1;
// }
// else if(start == 4) {
// st_loop = 5;
// }
// else {
// st_loop = 7-start;
// }
// }
// else {
// st_loop = 1;
// }
// vector<int> rac;
// //หา index ของวันเกิด แนวตั้งและนอน
// int count_r = 0;
// bool is_first = true;
// for(int i=st_loop; i<day; i++) {
// if(i%7==1&&is_first==false) { //ไม่จำเป็นต้องสร้าง Array 2D หรือวนลูปหาพิกัด Row/Column
// count_r++;
// }
// if(i==birth) {
// rac.push_back(count_r);
// rac.push_back();
// }
// is_first=false;
// }
// //เอา index มาหาบน ล่าง ซ้าย ขวา
// for(int i=0; i<)
// }