上回帖子 新代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,j,a[20][50],r,c;
cin>>i >>j;
if(j>=1 and j<=4){
r=1;
}
else if(j>=5 and j<=8){
r=2;
}
else if(j>=9 and j<=12){
r=3;
}
else if(j>=13 and j<=16){
r=4;
}
else if(j>=17 and j<=20){
r=5;
}
else if(j>=21 and j<=24){
r=6;
}
else if(j>=25 and j<=28){
r=7;
}
else if(j>=29 and j<=32){
r=8;
}
else if(j<=33 and j<=36){
r=9;
}
else{
r=10;
}
j%=4;
if(j==0){
c=4+(i-1)*4;
}
else if(j==1){
c=1+(i-1)*4;
}
else if(j==2){
c=2+(i-1)*4;
}
else{
c=3+(i-1)*4;
}
cout<<r <<" "<<c;
return 0;
}
新题:
有一个10行40列的储物柜,行号和列号均从1开始计起,如下图所示。现在要将这个储物柜分配给10个班级使用,每个班级刚好有40名学生。班级序号从1开始计起。每个班学生的学号为1-40。
现在按如下规则给每个学生分配一个小柜子:每4列视为一组柜子,每组柜子分配给一个班,即第1-4列分别给第1个班,第5-8列分别给第2个班,...,第37-40列分配给第10个班。每组柜子按从上到下、每一行再从左到右的顺序分配给每个学生。例如,第1行第5-8列,分配给2班1-4号;第2行第5-8列,分配给2班5-8号;第3行第5-8列,分配给2班9-12号;...;第10行第5-8列,分配给2班37-40号。
现在输入柜子的行号i和列号j,1≤i≤10,1≤j≤40,请问这个柜子是分配给几班几号。
输入数据占一行,为两个正整数i和j,含义如题目描述所述。
输出数据占一行,为两个正整数x和y,表示分配给x班y号学生。
5 1
1 17
8 6
2 30