要求:
http://codeup.cn/problem.php?cid=100000588&pid=12
说明:
这一题在保存两个数的时候纠结了一会
代码:
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <string.h>
using namespace std;
int num[33000];
int record[66000];
void F(int n,int i,int record[]){
int min,max;
int gianal = n;
if(gianal %4 != 0){
min = n/4;
n = n%4;
if(n % 2 == 0){
min = min + n/2;
record[i] = min;
}
else{
record[i] = 0;
}
}
if(gianal %4 == 0){
min = gianal/4;
record[i] = min;
}
if(gianal %2 != 0){
record[i+1] = 0;
}
if(gianal %2 == 0){
max = gianal/2;
record[i+1] = max;
}
}
int main(){
int n;
while(scanf("%d",&n) != EOF){
for(int i = 1;i < 2*n;i += 2){
scanf("%d",&num[i]);
F(num[i],i,record);
}
for(int j = 1;j < 2*n;j += 2){
printf("%d %d\n",record[j],record[j+1]);
}
memset(num,0,sizeof(num));
memset(record,0,sizeof(record));
}
}