mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
Create 1626.cpp
This commit is contained in:
parent
e5fc34c4d1
commit
ce405c74b3
81
QUSTOJ/1626.cpp
Normal file
81
QUSTOJ/1626.cpp
Normal file
|
@ -0,0 +1,81 @@
|
|||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
using namespace std;
|
||||
int data[4];
|
||||
char buff[32];
|
||||
char cmdline[10240];
|
||||
int strlenx(const char* inc)
|
||||
{
|
||||
int i=0;
|
||||
while(inc[i]!='\0') i++;
|
||||
return i;
|
||||
}
|
||||
//Kiritow's Quick sort function : written on Nov. 2ND ,rewritten on Nov. 10TH
|
||||
//Updated Version : QuickSort (Build 2)
|
||||
template <class T>
|
||||
void quicksort(T* a,int left,int right)
|
||||
{
|
||||
if(left>=right) return;
|
||||
T keyvalue=a[left];
|
||||
int i=left,j=right;
|
||||
while(i<j)
|
||||
{
|
||||
while(i<j&&a[j]>=keyvalue)
|
||||
{
|
||||
j--;
|
||||
}
|
||||
while(i<j&&a[i]<=keyvalue)
|
||||
{
|
||||
i++;
|
||||
}
|
||||
T tmp=a[i];
|
||||
a[i]=a[j];
|
||||
a[j]=tmp;
|
||||
}
|
||||
if(i==j)
|
||||
{
|
||||
T tmp=a[left];
|
||||
a[left]=a[i];
|
||||
a[i]=tmp;
|
||||
}
|
||||
quicksort(a,left,i-1);
|
||||
quicksort(a,i+1,right);
|
||||
}
|
||||
int main()
|
||||
{
|
||||
//I know there's a better way to do this. But I am not happy now. So I won't think anything.
|
||||
for(int i=1;i<26;i++)
|
||||
{
|
||||
for(int j=1;j<26;j++)
|
||||
{
|
||||
for(int k=1;k<26;k++)
|
||||
{
|
||||
for(int x=1;x<26;x++)
|
||||
{
|
||||
if(i+j+k+x==26)
|
||||
{
|
||||
if(i*j*k*x==880)
|
||||
{
|
||||
data[0]=i;
|
||||
data[1]=j;
|
||||
data[2]=k;
|
||||
data[3]=x;
|
||||
quicksort(data,0,3);
|
||||
int diff=data[1]-data[0];
|
||||
for(int p=0;p<20;p++)
|
||||
{
|
||||
sprintf(buff,"%d ",data[0]);
|
||||
strcat(cmdline,buff);
|
||||
data[0]+=diff;
|
||||
}
|
||||
cmdline[strlenx(cmdline)-1]='\0';
|
||||
puts(cmdline);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user